新版博客SEO优化基本完成,新老博客内容正在整合中,保证每篇文章高质量。 SiteMap RSS Github
Python中args和kwargs
嘉美伯爵   2019年4月11日 22:30   Python   语法   164  

元组

封装

传入的数据为 1, 2, 3, 4 ,当匹配完num后,Python会自动把2,3,4 封装为元组

def pack_args(num=0, *args):
    print(num)
    for item in args:
        print(item)

pack_args(1, 2, 3, 4)
# 1, 2, 3, 4

解封装

def unpack_args(one, two, three):
    print(one, two, three)

args = [1, 2, 3]
unpack_args(*args) # 1, 2, 3

字典

封装

def pack_kwargs(num, *args, **kwargs):
    print(num)
    for item in args:
        print(item)

    for key, value in kwargs.items():
        print(key, value)

pack_kwargs(1, 2, 3, 4, four=4, five=5) # 1, 2, 3, 4 four 4, five 5

解封装

def unpack_kwargs(first, second, third, fourth, fifth):
    print(first, second, third, fourth, fifth)

kwargs = {
    'first': 1,
    'second': 2,
    'third': 3,
    'fourth': 4,
    'fifth': 5
}

unpack_kwargs(**kwargs) # 1 2 3 4 5

参考文档

理解 Python 中的 args 和 *kwargs