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