The function of the dynamic parameters Python function (b)

4.2 Dynamic Parameters Function

  1. Dynamic position parameter (Note * args args can be freely changed, is not fixed)

    def func(a,b,*args):# *args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合
        print(a,b,args)# args接受 多个参数存储类型为元组
    func(1,2,3,4,5)
    #结果为: 1 2 (3,4,5)
    
    def func(a,b,*args):#*args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合
     print(a,b,args)
    func(1,2,3)
    #结果为: 1 2 3
    
    def func(a,b,*args):#*args是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合
        print(a,b,*args)# * 打散
    func(1,2,3,4)
    #结果为 1 2 3 4
    
    #优先级: 位置参数 >动态位置参数 > 默认参数
    
    def func(a,b,*args,c=1,d=2):
        print(a,b,c,d,*args)
    func(1,2,3,4,c=4)#如果要修改默认参数 必须参数名一致 否则改不了 默认参数的值
    #结果为1 2 3 4 4 2 
  2. The key dynamic parameters (** kwargs Remarks kwargs can be freely modified following the variable naming)

    def func(a,b,**kwargs):# **kwargs是万能(接受任意多个)关键字参数 
        print(a,b,kwargs)
    func(1,2,c=1,d=2)# kwargs 格式要遵循a=1 实参不能跟 位置形参 名一致 否则冲突
    结果为:1 2 {"c":1,"d":2}
    
    def func(a,b,*args,c=1,d=2,**kwargs):
        print(a,b,*args,c,d,*kwargs)# *kwargs --获取到字典的键
    func(1,2,3,4,c=8,d=10,e="alex",f="wusir")
    #结果为:1 2 3 4 8 10 e f
    
  3. to sum up

    def func(*args,**kwargs):
     print(*args,**kwargs)
    a=[1,2,3,4,5,6]
    b={"1":2,"3":4}
    func(*a,**b)
    #结果为:1 2 3 4 5 {"1":2,"3":4}
    #列表 和字典 作为实参遍历 
    
    #我们可以用这种形式 *a 等价于遍历 分别传参给*args
    # **b等价于 "1":2,"3":4 
    
    
    #参数的优先级:位置参数>动态位置参数>默认参数(关键字参数)>动态关键字参数
    #1、万能传参:动态位置参数--动态关键字参数(最常用***)
    #2、位置参数--动态位置参数
    #3、动态位置参数--关键字参数--动态关键字参数

Guess you like

Origin www.cnblogs.com/zhangdadayou/p/11415081.html