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 关键点

猜你喜欢

转载自www.cnblogs.com/wangtp/p/11565812.html