python 中 *args he **kwargs的区别

时间:2023-03-09 13:26:50
python 中 *args he **kwargs的区别
'''
一 *args 和 **kwargs 的区别?
*args 表示任意个 无名参数, 类型是元祖 tuple.
**kwargs 表示的是关键字的参数 传入的参数是 dict 类型。 当*和**符号出现在函数定义的参数中时,表示任意数目参数收集。
*arg表示任意多个无名参数,类型为tuple;**kwargs表示关键字参数,为dict。
使用时需将*arg放在**kwargs之前,否则会有“SyntaxError: non-keyword arg after keyword arg”的语法错误 二 dict 类型? 字典!
python中唯一的映射类型,是一种键值对方式。
key 是唯一的,根据key值得到values ''' # 只要有* 标示符号即可,用haha 也能使用。 规范是args
def demo(*haha):
for i in haha:
print(i) demo(2, 3, 4, 444)
# 打印结果
# 2
# 3
# 4
# 444 '''
**kwargs 键值对的方式
**会以键/值对的形式解包一个字典,使其成为独立的关键字参数。
''' def demo2(**xixi):
print(xixi)
key = xixi.keys()
values = xixi.values()
print(key)
print(values) demo2(a=1, b=2, c=3)
# 打印结果。
# {'a': 1, 'b': 2, 'c': 3}
# dict_keys(['a', 'b', 'c'])
# dict_values([1, 2, 3])