美文网首页
python中的 *args和**kwargs

python中的 *args和**kwargs

作者: 大头菜turtle | 来源:发表于2019-10-11 14:54 被阅读0次

龟龟是最可爱的猫

python中的args和*kwargs学习

*args

  • *args是用来传递一个可变数量的参数,它是non-keyworded的

  • 其实用*代表这个数目可变的参数列表, 但是通常我们使用*args

  • *args使得我们可以向之前定义好的函数中传入比之前定义的更多的参数

  • 使用*,意味着*所关联的变量成为一个可迭代的变量

Example for usage of *arg:

def myFun(*argv):  
    for arg in argv:  
        print (arg)

myFun('Hello', 'turtle', 'i am your fans')  

运行结果:

Hello
turtle
i am your fans

**kwargs

  • **kwargs是一个关键词式的,长度可变的参数列表

  • **kwargs类似于字典结构,key-value格式,因此他在迭代的时候打印出来没有固定顺序

def myFun(arg1, arg2, arg3):
    print("arg1:", arg1)
    print("arg2:", arg2)
    print("arg3:", arg3)

# Now we can use *args or **kwargs to
# pass arguments to this function :
args = ("Geeks", "for", "Geeks")
myFun(*args)

kwargs = {"arg1" : "Geeks", "arg2" : "for", "arg3" : "Geeks"}
myFun(**kwargs)

结果:

arg1: Geeks
arg2: for
arg3: Geeks
arg1: Geeks
arg2: for
arg3: Geeks

相关文章

网友评论

      本文标题:python中的 *args和**kwargs

      本文链接:https://www.haomeiwen.com/subject/sentmctx.html