'''
1、*args和**kwargs主要用于定义函数的可变参数
2、*args:发送一个非键值对的可变数量的参数列表给函数
3、**kwargs:发送一个键值对的可变数量的参数列表给函数
4、如果想要在函数内使用带有名称的变量(像字典那样),那么使用**kwargs。
'''
def test(s_msg,*args):
print(s_msg)
print(args)
for i in args:
print(i)
def demo(i_num,**kwargs):
print(i_num)
print(kwargs)
keys = kwargs.keys()
value = kwargs.values()
print(type(keys))
print(keys)
print(type(value))
print(value)
test('success',1,2,3)
print('-----------')
demo(10,a=1,b=2,c=3,d=4)
'''
运行结果
success
(1, 2, 3)
1
2
3
-----------
10
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
<class 'dict_keys'>
dict_keys(['a', 'b', 'c', 'd'])
<class 'dict_values'>
dict_values([1, 2, 3, 4])
'''