在不确定函数参数的时候,可以使用*args 和 kwargs。
*args在不知道需要传入多少参数,或者说需要向函数中传入的参数形式是列表或元组;
而kwargs参数是字典类型,即key-val。
def fun_args(*args):
print(type(args), args)
for var in args:
print('another var : ', var)
fun_args(1, 2.3, 'student')
#################################
结果:
<class 'tuple'> (1, 2.3, 'student')
another var : 1
another var : 2.3
another var : student
################################
def fun_kwargs(**kwargs):
print(type(kwargs), kwargs)
for key in kwargs:
print('another keyword : %s : %s' %(key, kwargs[key]))
fun_kwargs(name='Tom', job='Student', gender='male', age=22)
#################################
结果:
<class 'dict'> {'name': 'Tom', 'job': 'Student', 'gender': 'male', 'age': 22}
another keyword : name : Tom
another keyword : job : Student
another keyword : gender : male
another keyword : age : 22
################################