美文网首页
数据团Python_7. 函数

数据团Python_7. 函数

作者: 00e6a8fd618f | 来源:发表于2017-04-06 16:58 被阅读24次

7. 函数

7.1 函数概念及常用函数调用

函数,完成某个工作的代码块,由语句构成
函数组成:

  • 函数名称
  • 函数参数
  • 函数内的算法
def f(x) : #函数名称f,参数x
    y = x * x #算法
    print(y)
  • 内置函数
#数学函数
abs(a)
max(list)
min(list)
sum(list)
sorted(list)
len(list)
divmod(a,b):获取商和余数
pow(a,b):获取乘方数
round(a,b):获取指定位数的小数
range(a[,b]):生成一个a到b的数组左闭右开
#类型转换函数
int(str)
float(int/str)
str(int)
bool(int):转换为布尔值
list(itreable):转换为list
iter(iterable):返回一个可迭代对象
dict(iterable):转换为dict
enumerate(iterable):返回一个枚举对象
tuple(iterable):转换为tuple
set(iterable):转换set
hex(int):转换为16进制
oct(int):转换为8进制
bin(int):转换为2进制
chr(int):转换数字为相应ASCII码
ord(str):转换ASCII码为相应数字
#相关操作
eval():执行表达式
exec():执行Python语句
type():返回一个对象的类型
id():返回一个对象的唯一标识符
help():调用系统内置的帮助系统
isinstance():判断一个对象是否为该类的一个实例
issubclass():判断一个类是否为另一个类的子类
globals():返回当前全局变量的字典
reversed(sequence):生成一个反转序列的迭代器

7.2 自定义函数(重点)

#定义函数:def语句
def f() :
    print('hello world')
f() #定义函数并不代表执行

def f(x) :
    print(x)

f(20)

#小作业
def f(x) :
    for i in x :
        print(i)

a = input('输入一个字符串:')
f(a)

def f(x) :
    if x >= 0:
        return x
    else :
        return -x

n = float(input('请输入一个数字:'))
print(f(n))

def f(x, y, z) :
    m = ((x + y) * (x - y)) ** z
    return m

def f(x) :
    y = 2 ** x
    return y
print(f(5))

def f(x, n=2) : #默认参数
    y = x ** n
    return y

#可变参数*x Python默认把可变参数传入元祖
def ff(*x) :
    print(x)

def f(*m) :
    return sum(m)/len(m)
f(3, 4, 4, 3)

#矩形周长
def f():
    l =  float(input('请输入矩形长度:'))
    w =  float(input('请输入举行宽度:'))
    area = l * w
    zc = (l + w) * 2
    print('矩形面积为%.2f'%area)
    print('矩形周长为%.2f'%zc)
f()
#圆形面积
def f():
    r =  float(input('请输入圆形半径:'))
    area = r ** 2 * 3.1415926
    zc = 2 * r * 3.1415926
    print('圆形面积为%.2f'%area)
    print('圆形周长为%.2f'%zc)
f()

#计算
def f(a, r, n) :
    s = 0
    for i in range(n+1) :
        s = s + a * r ** i
    return s
x = float(input('a = '))
y = float(input('r = '))
z = int(input('n = '))

if y == 0 :
    print('r不等于0')
else :
    print(f(x, y, z))
    
#
def dic() :
    st = input('请输入一串字符,以逗号隔开:')
    k = st.split(',')
    print(dict.fromkeys(k))

dic()

7.3 局部变量及全局变量

def f(m) :
    m = '呵呵哒'
    print(m)
#输入参数a的值,仅在函数内部变化
a = int(input('随便输入一个数字:'))
print(a)
f(a)
print('运行函数后,输出值为:' + str(a))

#通过global语句,把局部变量变为全局变量
def f():
    global a
    a = '呵呵哒'
    print(a)
a = int(input('随便输入一个数字:'))
print(a)
f()
print('运行函数后,输出值为:' + str(a))

7.4 匿名函数lambda

#什么是匿名函数?Lambda和def的区别
#lambda的运用比较局限
#lambda作为匿名函数,不需要函数名
f = lambda a, b, c : a + b + c
print(f(1, 2, 3))

#lambda函数是一个可以接收任意多个参数(包括可选参数)
#返回单个表达式

>>> f = lambda x : print(x)
>>> f(100)
100
>>> (lambda x : x * 2) (6)
12
>>> f = lambda a : dict.keys(a)
>>> dic = {'a':1, 'b':2, 'c':3}
>>> list(f(dic))
['a', 'b', 'c']
>>> m = ['Tom', 'Marry', 'Jack', 'Damon']
>>> m1 = []
>>> for i in m:
    (lambda s,t,q:s.append(t[q]))(m1, i, 0)

>>> print(m1)
['T', 'M', 'J', 'D']

7.5 花式创建函数

#对输入数字排序
def f():
    x = input('请输入若干数字(以逗号隔开):')
    n = x.split(',') #分开
    m = []
    for i in n:
        m.append(float(i))
    print(sorted(m))

f()
>>> 
============= RESTART: C:\Users\Administrator\Desktop\script.py =============
请输入若干数字(以逗号隔开):5,6,96,32,3.6,0.2
[0.2, 3.6, 5.0, 6.0, 32.0, 96.0]

#对输入的成绩进行评级
def f():
    s = float(input('请输入学生成绩:'))
    if s >= 90:
        print('学生成绩为:A')
    elif s > 60:
        print('学生成绩为:B')
    else:
        print('学生成绩为:C')
f()
>>> 
============= RESTART: C:\Users\Administrator\Desktop\script.py =============
请输入学生成绩:50
学生成绩为:C

#统计输入字符中各种元素数量
def f():
    s = input('随意输入一个字符:')
    letters = 0
    space = 0
    digit = 0

    for i in s:
        if i.isalpha():
            letters = letters + 1
        elif i.isspace():
            space+=1
        elif i.isdigit():
            digit+=1
    print('字母有{}个,空格有{}个,数字有{}个'.format(letters, space, digit))
    
f()
>>> 
============= RESTART: C:\Users\Administrator\Desktop\script.py =============
随意输入一个字符:fengxuan521
字母有8个,空格有0个,数字有3个

#根据年月日判断是第几天
y = int(input('年份是:\n'))
m = int(input('月份是:\n'))
d = int(input('天是:\n'))

months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
def f():
    s = months[m-1] + d
    print('这一天是1年的第{}天'.format(s))

f()
>>> 
============= RESTART: C:\Users\Administrator\Desktop\script.py =============
年份是:
2015
月份是:
5
天是:
26
这一天是1年的第146天

相关文章

  • 数据团Python_7. 函数

    7. 函数 7.1 函数概念及常用函数调用 函数,完成某个工作的代码块,由语句构成函数组成: 函数名称 函数参数 ...

  • 数据分析课程笔记

    Excel基本数据分析 数据处理阶段:数据处理函数 数据分析阶段:数据分析函数vlookup函数 = VLOOKU...

  • Reshape程序包的数据处理

    模拟数据 melt函数 (宽数据转化为长数据) cast函数在melt函数处理的数据基础上,对数据进行各种转换 利...

  • SQL必知必会读书笔记8

    使用函数处理数据 SQL可以用函数来处理数据。函数一般是在数据上执行的,为数据的转换和处理提供了方便。 SQL函数...

  • Oracle分析函数——函数列表

    聚合函数 开窗函数 数据分析函数 统计求和函数

  • 重构方向

    重复代码 过长函数 过大的类 过长的参数列 发散式变化 霰弹式变化 依恋情结 数据泥团 基本类型偏执 switch...

  • Python - 语法

    数据结构 函数 高级特性 函数式编程 数据结构

  • (GeekBand)C++面向对象高级编程(上)第一周笔记

    1. 头文件与类的声明 C语言,函数用于处理数据,数据处处可见,数据函数分离;C++通过class将函数和数据封装...

  • 数据抽象

    数据抽象 复合简单数据形成复合数据,复合数据可以提高程序的模块化。数据抽象类似于函数抽象,函数抽象将函数的实现细节...

  • C语言数组注意事项

    数组和函数 基本数据类型和函数基本数据类型作为函数参数,在函数中修改形参的值不会改变函数外变量的值基本数据类型有:...

网友评论

      本文标题:数据团Python_7. 函数

      本文链接:https://www.haomeiwen.com/subject/hnuqattx.html