Python自定义函数是以def开头,空一格之后是这个自定义函数的名称,名称后面是一对括号,括号里放置形参列表,结束括号后面一定要有冒号“:”,函数的执行体程序代码也要有适当的缩排。Python自定义函数的通用语法是:
def 函数名称(形参列表):
执行体程序代码
Python自定义函数的5种常见形式:
1、标准自定义函数:
形参列表是标准的tuple数据类型
>>> def abvedu_add(x,y):print( x + y) >>> abvedu_add(3,6) 9 >>>
2、没有形参的自定义函数:
该形式是标准自定义函数的特例。
>>> def abvedu_print():print("hello Python!") >>> abvedu_print() hello Python! >>>
3、使用默认值的自定义函数:
在定义函数指定参数时,有时候会有一些默认的值,可以利用“=”先指定在参数列表上,如果在调用的时候没有设置此参数,那么该参数就使用默认的值。
>>> def abvedu_printSymbol(n,symbol = " %"):for i in range(1,n+1):print(symbol , end ="")print() >>> abvedu_printSymbol(6)% % % % % % >>> abvedu_printSymbol(9,"@") @@@@@@@@@ >>>
4、参数个数不确定的自定义函数:
此函数可以接受没有预先设置的参数个数,定义方法是在参数的前面加上“*”。
>>> def abvedu_main(*args):print("参数分别是:")for arg in args:print(arg) >>> abvedu_main(1,2,3) 参数分别是: 1 2 3 >>> abvedu_main(6,9) 参数分别是: 6 9 >>> abvedu_main('a','b','v','e',"du") 参数分别是: a b v e du >>>
5、使用lambda隐函数的自定义函数:
Python提供了一种非常有趣、精简好用的一行自定义函数的方法lambda,这是一种可以实现一行语句、用完即丢的自定义函数。语法形式是:
lambda 参数列表:执行语句
其实,它对应的标准自定义函数形式:
def 函数名称(参数列表):
return 语句内容
这种定义方式可以和map函数一起使用
>>> x = range(1,9) >>> x range(1, 9) >>> y = map(lambda i: i**3, x) >>> for i, value in enumerate(y):print("{}^3 = {}".format(i,value)) 0^3 = 1 1^3 = 8 2^3 = 27 3^3 = 64 4^3 = 125 5^3 = 216 6^3 = 343 7^3 = 512