返回值
遇到return就结束了函数的运行return variable
返回值
不写return为返回空值None
return a, b
可以返回多个值 接收的时候可以使用两个变量接收a , b= function()
多个普通变量赋值可以通过 a,b,c = 1,2,3
也可以写为a=b=c=1
序列解包
d = 1,2,3
d 为序列,可以通过a,b,c = d
来解包为单独三个变量中
参数
必须参数
关键字参数
function(x=12, y=13)
在函数值传递的时候告诉python你的实参是给哪个形式参数传递值的。
这种方法可读性更强。
默认参数
在定义函数的时候可以通过给形式参数定义默认值,调用函数的时候不传值,参数就为默认值def function_name(a=123, b='hello'): pass
形式参数定义的时候,普通形式参数必须都定义在默认参数的前面
可变(长度)参数
如果为可变参数def function_name(*param): pass
调用函数的时候 function_name(1,2,3,’a’) 这些实参会变成元祖的形式传给*param。
问题:def function_name(a,*param,b)
那么调用此函数的时候不能给b赋值,b必须使用关键字参数的形式指定实参
所以通常如果需要用到可变长度参数,都会放到参数列表的最后
关键字可变参数
想实参传入关键字可变参数def function_name(**param) : pass
接收到的param为字典数据类型
def city_population(**param):
for key,value in param.items():
print(key+":"+str(value))
city_population(shanghai=13, guangdong=45, beijing=25)