1.函数的定义:def 函数名():
2.函数的调用 函数名()
3.形参和实参
def myfirstfunction(name)
函数定义过程中的name是叫形参,因为它只是一个形式,表示占据一个参数位置。
函数调用过程中myfirstfunction("abc")叫做实参,它是具体的参数值。
4.函数文档
对函数大致功能进行介绍,用,在函数里面引号里写好函数的标注说明,用__doc__(双下横线)显示。
5.关键字参数
用关键字索引参数,放置混乱
6.形参默认值
形参设置默认值后,如果在函数使用过程中,没有带参数,就返回设置的默认值,也可以给部分参数,其他没有给的参数用默认值。
7.函数与过程
过程是简单的,特殊并且没有返回值的函数。python基本只有函数,没有过程。自己在函数里加返回值的时候就返回指定的返回值,没有加返回值时,函数返回none对象,如图所示。
python可以返回多个值。如果没有括号,默认返回元祖。
8.函数变量与作用域
局部变量:函数内部定义的变量,在函数外不能访问。如:
全局变量:在函数外的变量,在函数里面也能访问。但如果试图在函数里修改全局变量,Python会自动在函数里创建一个名字一样的局部变量,原全局变量不变,如图。
9.global关键字
要在函数中修改全局变量,可以用global关键字。
10.内嵌函数
在函数里面再定义另一个函数。内部函数整个作用域都在外部函数之内。在外部函数外不能调用内部函数。
11.闭包
如果在一个内部函数里对外部作用域(但不是在全局作用域)的变量进行引用,这个内部函数就叫闭包。
注意这种情况:fun2()里的变量x是自己新生成的局部变量,而不是fun1里的x,fun1里的x对fun2来说是全局变量,不能变。
解决办法:
(1)用列表 (2)用 nonlocal
12.lambda表达式
python允许用关键字创建匿名函数。lambda之前是变量,之后的返回值。
python写一些执行脚本时,使用Lambda就可以省下定义函数的过程,比如说我们只是需要写个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用Lambda就可以使得代码更加精简。
对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候给函数起个名字也是比较头疼的事,使用lambda就不需要考虑命名的问题了。
13.filter()函数
把任何非true的内容过滤掉。
map()函数
将序列的每一个元素做为函数的参数进行运算,直达可迭代序列的每个元素都运算完毕。返回所有加工过得元素构成的新序列。