python中非常强大的一个功能就是万能参数,就是什么类型的参数都可以传递,传多少个参数不受限制,它都会非常好的去处理,代码如下
#动态参数 * 只得是接受任何类型的参数,并且是元组的类型
def f1(*args):
print(args,type(args))
f1(11,22,33,'Eric')
#输出
# (11, 22, 33, 'Eric') <class 'tuple'>
li = [11,22,33] #我们也可以传一个集合参数过去,它会自动取出所有的元素
f1(li)
#输出 ([11, 22, 33],) <class 'tuple'>
# f1(*li) #*会取出列表里面的元素
# **的参数 表示的是字典类型
def f2(**args):
print(args,type(args))
f2(name = 'Eric') #2个*表示传入的必须是字典key->value或者一个字典,
#输出
#{'name': 'Eric'} <class 'dict'>
dic = {'name':'Eric','age':24}
f2(**dic) #传入字典 加2个*
#输出
# {'name': 'Eric', 'age': 24} <class 'dict'>
#学会了参数,我们把2个放在一起就形成了万能参数,可以传任何类型的参数,也可以不传
def f3(*args,**kwargs):
print(args)
print(kwargs)
f3(100,200,'Jack',name='A',age=100)
#输出
# (100, 200, 'Jack')
# {'name': 'A', 'age': 100}