Python函数参数收集的正过程与逆过程

正过程:

def Test(a, b, c = 3, *args, ** kwarg):
    print(a)
    print(b)
    print(c)
    if args:
        print("arg: ", args)

    if kwarg:
        print("kwarg: ", kwarg)
*arg会把多出来的位置参数转化为tuple
**kwarg会把关键字参数转化为dict
Test(1, 2, 3, 4, 5, keyword1 = "one", keyword2 = "two")
运行结果:
1
2
3
arg:  (4, 5)
kwarg:  {'keyword1': 'one', 'keyword2': 'two'}

逆过程:

def sum(a, b, c):
    return a + b + c

a = [1, 2, 3]

# the * unpack list a 
# 将元组或者列表分解为:1,2,3
print sum(*a)
>> 6

def sum(a, b, c):
    return a + b + c

a = {'a': 1, 'b': 2, 'c': 3}

# the ** unpack dict a
#将字典分解为'a' = 1, 'b' = 2, 'c' = 3
print sum(**a)
>> 6
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容