引言
1 函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。
2 Python提供了许多内建函数,如print()、int()
3 内置函数网站 https://docs.python.org/3.7/library/functions.html
函数调用
1 func(参数) 接受参数 并 返回结果
2 可以把函数名赋给另外一个变量 func1 = func2 , func1()
定义函数
1 def 函数名(参数列表):
函数体
2 没有return 语句, 函数也会返回结果,返回 None
函数参数
1 必需参数, 必须通过正确的顺序传入 函数
def func(val1, val2)
2 关键字参数
可以通过关键字名,来传入乱序的参数
func(val2 = ‘’, val1 = ‘’)
3 默认参数
def func(val1, val2 = “xx”)
如果不传val2,就会默认使用
默认参数一定要放在非默认参数后面
4 若要更改某一个默认参数值,又不想传入其他默认参数,且该默认参数的位置不是第一个,则可以通过参数名更改想要更改的默认参数值
5 若有一个默认参数通过传入参数名更改参数值,则其他想要更改的默认参数都需要传入参数名更改参数值
6 可变参数
def func(args):
在函数内部,参数前的星号将所有值放在同一个元组中
def func(…, args):
只对关键字参数有效,允许将关键字参数转化为字典
func(a=1,b=2), 则 args = {‘a’:1, ‘b’:2}
7 组合使用
顺序是( 必须参数、默认参数、可变参数和关键字参数)
8 任意函数都可以通过类似func(args,**kw)的形式调用,无论参数是如何定义的。
变量作用域
1 分为局部变量 和 全局变量
2 要在函数中将某个变量定义为全局变量,在需要被定义的变量前加一个关键字global即可。
返回函数
1 可以在函数内部定义一个函数 并当成对象返回
2 返回的函数有闭包的性质
匿名函数
1 python 通过lambda 来创建匿名函数
2 lambda的主体是一个表达式,而不是一个代码块,仅能在lambda表达式中封装有限的逻辑
3 lambda x,y: x+y
4 lambda一般应用于函数式编程,代码简洁,常和filter等函数结合使用。
偏函数
1 偏函数是将所要承载的函数作为partial()函数的第一个参数,原函数的各个参数依次作为partial()函数的后续参数