def 关键字 函数名:
def fun() : #执行函数 函数名加 ()
#函数体
#函数的优点 : 减少代码的重复率, 增强代码阅读力
#函数的主要目的是封装一个功能
#函数的返回值 return
1:函数中遇到return 直接结束函数的运行
2:return 单个值 原封不动的返回
3:return 一个元祖,所有返回值作为元组的每个元素 函数的执行者: fun( ) , print(fun()), print(ret, type(ret))
函数的传参:
实参:
#参数 # 位置参数 按照顺序 , 一一对应
1 a=10 2 b=20 3 def test5(a,b): a= 10 b = 20 4 print(a,b) 5 c = test5(b,a) 6 print(c)
20 10 None
#关键字参数 可以不按照顺序, 一一对应 x= ? ,y+? 实参形式
#混合参数 关键字参数一定要位置参数的后面
#形参 #位置参数 按照顺序, 一一对应
#默认参数 #应用场景:不经常改变的参数, 但是一直在用
#三元运算:只针对简单的if else 这样的结构 ,才可以使用
#关键字传参 可以不按照顺序, 但是必须一一对应
#默认参数若是可改变类型,他始终使用的是一个
函数的扩展,对于传入的实参,不固定,万能参数, 动态参数, *args, **kwargs
def fun(): # 在函数的定义时, 在*位置参数,聚合
#*args 将所有的实参的位置参数聚合到一个元祖,并将这个元祖赋值给
argv
* 的魔性用法
在函数的定义时,在*位置参数, ** 位置参数聚合
#在函数的调用时, 在*的位置参数, **位置参数打散
#形参的顺序: 位置参数,默认参数, *argv, ** kwargs
位置参数,*args, 默认参数
# def func(a,b,*args,sex='男',):
位置参数,*args, 默认参数 **kwargs
# def func(a,b,*args,sex='男',**kwargs,):