美文网首页
python的动态参数*与**

python的动态参数*与**

作者: 鱼豆腐爱好者协会会长 | 来源:发表于2019-12-17 10:24 被阅读0次

    python中,在形参前面加上“*”与“”“**”,称为动态参数

    加“*”时,函数可接受任意多个参数,全部放入一个元祖中

    加“**”时,函数接受参数时,放入字典中

    ===============================================

    def F(*args):

        print(args)

    li = [11,22,33,44]

    F(li)

    F(*li)

    # ([11, 22, 33, 44],)

    # (11, 22, 33, 44)

    ===============================================

    def F(**kwargs):

        print(kwargs)

    li = {"k1":1,"k2":2}

    F(k=li)

    F(**li)

    # {'k': {'k2': 2, 'k1': 1}}

    # {'k2': 2, 'k1': 1}

    ===============================================

    def F(p,*args,**kwargs):

        print(p)

        print(args)

        print(kwargs)

    F(11,"abc",[789],k1=123,k2="456")

    # 11

    # ('abc', [789])

    # {'k1': 123, 'k2': '456'}

    带一个星号(*)参数的函数传入的参数存储为一个元组(tuple);

    而带两个星号(*)参数的函数传入的参数则存储为一个字典(dict)

    由于传入的参数个数不定,所以当与普通参数一同使用时,必须把带星号的参数放在最后

    相关文章

      网友评论

          本文标题:python的动态参数*与**

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