函数的多返回值
def 函数():
return 1,2,3
x,y,z = 函数()#对应1,2,3
有几个就要有对应的几个变量存储,不然会报错
函数的关键字参数
def 函数(name,id):
打印输出name和id
函数(id = '10',name = 'it')#这里传入的是关键字参数,就是直接进行赋值
平常我们进行传参传的是位置参数,比如:函数(10,'it')这样子就会导致函数中的name=10,id = 'it',这样关键字参数的作用就体现出来了
位置参数和关键字参数可以混用
但是位置参数要在关键字参数前面
比如:函数(10,name = 'it')但是如果 函数(name = 'it',10)这样子会报错
缺省函数(默认值)
def 函数(name,age = 10):#这样就给了age一个默认的值
如果在使用该函数的时候给age赋值了,那么age的值会变成赋的值
但是我们在使用该函数的时候如果没给age赋值,也不会报错,并且age有初始值
比如 函数(‘it’,)或者函数(‘it’)这样都不会报错
这个默认值必须要在最后,跟关键字函数有异曲同工之妙
不定长参数
当我们在使用函数时,不知道要传入几个参数的时候,可以用不定长参数
def han(*args)#其实可以不用命名为args,但是*args是命名规范,同时,这个args是个元组
还有另一种def han(**kwargs)#这个类型是字典,传参必须是这种形式:han(name = 'it',age = '1')
高阶函数
函数可以作为参数传入函数
将函数传入的作用:传入计算逻辑,而非传入数据
比如:
def fuc(computer):c = computer(1,2)print(f"{c}")
def my_fuc(x,y):return x+y
fuc(my_fuc)
匿名函数
匿名函数只能走一行 lambda 参数1,参数2,...:表达式
表达式会作为返回值
def han(cmp):c = cmp(1,2)print(f"{c}")
han(lambda x,y: x+y)
打印的结果为3