1.定义函数
def 函数名(参数):
"文件字符串"#选择性的使用文件字符串,用于存放函数说明
函数语句
此处需说明的是“文件字符串”是可以省略不写的,如果选择写则必须是函数的第一个语句。
2.函数的参数
必须参数,关键字参数
默认参数
这里需要注意的是当调用函数时,若没有传入参数,则会使用默认参数值,这就要求默认参数需要进行赋初值。
def fruit(name,price = 10):
语句....
若调用函数时为:
s = fruit(pingguo)
则此时的price为默认参数值
若调用函数时为:
s = fruit(pingguo,12)
则此时的price为12
可变参数
如果用户在声明参数时不能确定需要几个参数,就可以使用可变参数。可变参数不用命名。
def fun(*args):#*args就是相当于一个元组
语句....
python解释器会将传入的参数组成一个tuple然后传给可变参数,所在在函数内部就可以将*args看成一个tuple
例如我们想求出任意几个数的平均值,这时我们的参数就是不确定的情况
def average(*args):
sum = 0.0
if lens(args) == 0:
return sum
for x in args:
sum = sum + x
return sum/lens(args)
有返回值和无返回值的函数
return语句相当于退出函数,有选择的向调用方返回一个表达式或值。不带返回值的参数语句返回node。
当返回值有多个时,此时返回值以元组对象的类型返回
注意如果没有返回语句,函数执行完毕后也会返回结果,只是结果为node
形参和实参
形式参数:在函数定义时出现的参数,可以看做是一个占位符,它没有数据,只能等到函数被调用时接受传递进来的数据,所以称之为形式参数。
实际参数:函数被调用时给出的参数,包含实实在在的数据,会被函数中的代码所用,所以成为实际参数。
1.参数的功能
形参和实参的作用就是数据传送,发生函数调用时,实参的值会传递给形参。
注意函数调用中发生的数据传送是单向的,只能将实参的值传递给形参,而不能反向传递。
匿名函数
所谓匿名函数,指不再使用def语句这样的标准形式定义一个函数。用lambda创建一个匿名函数。
1.若只有一个表达式则必须要有返回值
2.参数个数不限
3.语句块中不能含有return