python里的*与**

*与**用法详解

  • 在函数的传参中使用*,意为将传入的所有值打包为一个元组

    def add(*args):
        res = 0
        print(args)
        for i in args:
            res += i
        return res
    

    结果为

    add(1,2,3,4)
    
    (1, 2, 3, 4)
    10
    
  • 在函数的传参中使用,意为将传入的所有值打包为一个字典

    def add(**args):
        res = 0
        print(args)
        for i in args.values():
            res += i
        return res
    

    结果为

    add(x=1,y=2,z=3)
    
    {'x': 1, 'y': 2, 'z': 3}
    6
    
  • 在函数调用时使用*,意为解包

    nums = [1,2,3,4]
    print(*nums)
    

    1 2 3 4

  • 在函数调用时使用**,意为解包

    def add(a,b,c,d):
        return a+b+c+d
    
    testa = {'a':1,'b':2,'c':3,'d':4}
    add(**testa)
    

    10


    参考:https://www.cnblogs.com/mo-nian/p/11842422.html
    *与**不能脱离函数而单独使用

posted @ 2021-11-22 21:18  llxxssll  阅读(152)  评论(0)    收藏  举报