函数的定义及调用等不过多赘述
1.函数形参默认值
函数的参数值在定义形参的时候是可以直接指定初默认值的
def make_coffee(name='卡布奇诺'):
这样在调用函数时可以不用传递实参,形参也能拥有初始值。
2.可变参数
(1)基于元组的可变参数(*args)
def sum(*number):
...
return ...
print(sum(100.0, 20.0, 30.0))
多个参数会被组装成元组传递入函数
(2)基于字典的可变参数(**args)
同上,传递实参的时候会把参数以字典的形式传入函数,如:name=‘tony’,就是以name为key,tony为值。
3.函数作用域
python全局变量定义在模块中,而函数中定义的是局部变量,作用域只在函数内
如果要通过函数改变全局变量
可以在函数内设置同名全局变量:global x
那么函数中对该变量进行改变即可改变全局变量
4.函数类型
函数是可以作为返回值和函数参数进行使用的,函数的数据类型为function
小细节:拥有不同参数个数的函数的函数类型是不同的
5.过滤函数filter()
使用方法:filter(function, iterable)
func提供过滤条件,返回布尔值
iter为容器类型的数据
使用函数时,iter中的元素会被遍历,逐一传入func中
注意filter的返回值并不是一个列表,而是一个filter对象
这个对象可以通过转化成list或用for循环进行调用
6.映射函数map()
使用方法:map(function, iterable)
用于对容器中的函数进行映射
function提供变换规则,返回变换之后的元素
iterable是容器类型的数据
与filter函数的作用规则是类似的
7.lambda()函数
使用方法:lambda 参数列表:lambda体
注意参数列表不需要括号括起来,lambda体部分只有一条语句
用于计算结果并返回给lambda函数
def calc(opr):
if opr == '+':
return lambda a, b: (a + b)
else:
return lambda a, b: (a - b)
实际上就是用一条表达式表示参数与函数返回值之间的关系,就可以将函数转化为lambda表达式