大家根据一个简易的例证来展现一下涵数的全能主要参数,大家先写一个非常简单的涵数

def test(*args,**kwargs):
    print(args,kwargs)

随后界定2个变量

l = [1,2,3,4]
d = {"a":1,"b":2}

下边大家各自看下二种传参的方式有哪些不一样

第一种方式

test(l,d)

如果是应用上边的方式传参 ,那麼l,d这两个变量都是会传送给args这一形参,做为args变量的2个原素 ,kwargs是一个空的字典 ,沒有一切参数传递一个他

([1, 2, 3, 4], {'a': 1, 'b': 2}) {}

我们可以见到目录l和字典d被作为一个tuple的2个原素了

第二种方式

test(*l,**d)

如果是上边的方式传参,那麼l这一变量就会被取值给args,d这一变量就会被取值给kwargs

(1, 2, 3, 4) {'a': 1, 'b': 2}

根据上边的演试 ,你应该大部分掌握python的全能主要参数了吧,也了解假如涵数应用全能主要参数,你应该怎样开展传参了把

今日被搞糊涂了 ,又把全能主要参数整理一下

大伙儿首先看下这一涵数

def foo(action=None,**kwargs):
    print("action",action,sep="=================>")
    print("kwargs", kwargs, sep="=================>")
d = {"a":1,"b":2}
foo(d)
print("=".center(100,"*"))
foo(**d)

我实行的結果以下

下边我解释一下

第一种调用函数的方式,传送了一个字典进来,这一字典会被作为一个总体传送进来 ,这一字典会被取值给部位发生变化,也就是action

第二种调用函数的方式,根据**字典的方式传送进来 ,他具体是那样传送的a=1,b=2那样传送进来的,事实上一个取名变量 ,而这两个变量的名字也不action ,因此 第二中启用的方式的結果便是

action为none

kwargs便是一个字典

我们在来看下第三种启用的方式

d = {"action":"action","a":1}
foo(**d)

  

下边在看下結果,是不是就懂了一些了

文章来源于网络,如有侵权请联系站长QQ61910465删除
本文版权归趣快排营销www.SEOguruBLOG.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ㊣61910465