1 内置函数
为方便用户使用,Python提供了许多内置函数,可以直接使用。(见PPT表示)
2 自定义函数
1)函数定义,语法格式为:
def func_name([arguments]):
statement(s)
[return expression]
函数由函数头和函数体组成。函数头包括def关键词、函数名称、参数列表;函数体包括函数执行的语句,使用缩进表示函数体代码块。
2)函数调用,语法格式为:
func_name(par1,par2,…)
其中,func_name为预先定义的函数名,括号内为实参,函数定义不执行,需要函数调用才执行。
3)形式参数和实际参数
形参是函数定义时函数名后括号中的参数,用来接收函数调用时传入的具体数据;实参是函数调用时函数名后括号中的参数,用于向形参传递具体的值。实参个数和顺序必须与形参保持一致。
4)参数传递
· 值传递:传入的参数不可变类型,如数字、字符串等。对形参的操作不会影响实参。
· 引用传递:传入的参数是可变类型,如列表、字典等。对形参的操作会改变实参值。
3 函数的特殊参数
1)默认参数
定义函数时在参数列表最后用“=”为参数设置默认值,调用时,没有实参传入则使用默认值,有实参传入则使用实参。
2)关键字参数
函数调用时实参个数和顺序应一致,若想顺序不一致可以使用关键字参数形式:“形参名=实参值”。
3)可变长参数
· 可变长元组参数。语法格式为:def func_name(formal_args,*args):
其中,普通形参formal_args在前,可以多个;可变长元组参数*args在后,只能有一个。
· 可变长字典参数。语法格式为:def func_name(formal_args,**kwargs):
其中,formal_args在前,可变长字典参数**kwargs在后,只能一个,传入“关键字=值”实参。
· 可变长混合参数。语法格式为:def func_name(formal_args,*args,**kwargs):
其中,参数顺序不能变,传入实参时,先配普通形参个数,超过的不带关键字按元组存放,带关键字按字典存放。
4 lambda 函数
如果函数在程序中只调用一次,可使用lambda函数。定义的同时调用该函数,语法格式为:
Lambda [arg1[,arg2,…,argN]]:expression
其中,lambda为匿名函数关键字,冒号前为参数(可选),冒号后为表达式(只能占用一行)。
· filter函数用于过滤序列中不符合条件的元素,返回符合条件元素的新列表。语法格式为:
filter(function,iterable)
如:>>>fil=filter(lambda x:x>10,[1,11,2,45,7,6,13])
>>>print(list(fil)) # 结果为:[11,45,13]
· map函数返回将function应用于iterable中每一项并输出其结果。语法格式为:
filter(function,iterable,…)
如:>>>mp=filter(lambda x,y:x+y,[1,3,5,7,9],[2,4,6,8,10])
>>>print(list(mp)) # 结果为:[3,7,11,15,19]

