'''
一 *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])