Python【day 10】函数进阶-动态函数
形参小结
1、位置参数
2、默认值参数
3、动态参数
1、*args 位置参数的动态传参。
系统会自动的把所有的位置参数聚合成元组
2、**kwargs 关键字参数的动态传参。
系统会自动的把所有的关键字参数聚合成字典
3、def func(*args,**kwargs): #无敌参数
pass
4、顺序: 位置参数,*args,默认值,**kwargs 关键点
5、上述顺序,在使用的时候,可以任意的进行搭配
4、在实参上,*,**表示的是打散(位置参数或者关键字参数)
在形参上,*,**表示聚合(元组或者字典)
5、例子
def func1(*args):
print(args)
func1(1,2,4,6)
def func2(*args): #推荐1:将多个位置参数作为列表的元素,通过*li1-实参传入到形参*args
print(args)
li1 = [1,5,7]
func1(*li1)
def func3(**kwargs):
print(kwargs)
func3(name='jack',age=18)
def func4(**kwargs): #推荐2:将多个关键字参数作为字典的元素(键值对),通过**dic1-实参传递给形参**kwargs
print(kwargs)
dic1 = {'name':'jack','age':19}
func4(**dic1)
动态参数
形参:
1、位置参数
2、默认值参数
3、动态参数
*args 动态接收位置参数,接收的是元组
**kwargs 动态接收关键字参数,接收的是字典
def func(*args,**kwargs): #形参
pass
func(*li1) #实参1
func(**dic1) #实参2
在形参上,* **表示聚合成(元组、字典)
在实参上,* **表示打散(可迭代解构,字典解构)
顺序:--实参
位置参数,*args,默认值,**kwargs 关键点