Python自定义函数以def开头,空一格之后是这个自定义函数的名称,名称后面是一对括号,括号里放置形参列表,结束括号后面一定要有冒号,函数的执行体程序代码也要有适当的缩排。
1、标准自定义函数:形参列表是标准的tuple数据类型。
def quadratic(a, b):
n = a**2 + b
return n
quadratic(2, 3)
print(quadratic(1, 2))
# 3
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