python:动态参数*args
动态参数 顾名思义,动态参数就是传入的参数的个数是动态的,可以是1个、2个到任意个,还可以是0个。在不需要的时候,你完全可以忽略动态函数,不用给它传递任何值。 Python的动态参数有两种,分别是 *args 和 **kwargs ,这里面的关键是一个和两个星号的区别,而不是 args 和 kwargs 在名字上的区别,实际上你可以使用 *any 或 **whatever 的方式。但就如self一样,默认大家都使用 *args 和 **kwargs 。 注意:动态参数,必须放在所有的位置参数和默认参数后面! def func(name, age, sex='male', *args, **kwargs): pass *args 一个星号表示接收任意个参数。调用时,会将实际参数打包成一个 元组 传入形式参数。如果参数是个列表,会将整个列表当做一个参数传入。例如: def func(*args): """ *表示接收任意个数量的参数,调用时会将实际参数打包为一个元组传入实参 :param args: :return: """ print args for i in args: print i func({'name': 'kobe'}, 123, 'hello', ['a', 'b', 'c']) 运行结果: ({'name': 'kobe'}, 123, 'hello', ['a