1,*args:代表可传递多个形参,**kwargs:带便可传递多个位置参数
def test_args(*args): print(args) if __name__ == '__main__': test_args('1','b',[1,2,3]) #打印结果:('1', 'b', [1, 2, 3])
def test_kwargs(**kwargs): print(kwargs) if __name__ == '__main__': test_kwargs(name='zxb',age=18) #打印结果:{'name': 'zxb', 'age': 18}
def test_args_kwargs(*args,**kwargs): print('形参是:',args) print('实参是:',kwargs) if __name__ == '__main__': test_args_kwargs(1,2,3,name='zxb',age='18') #打印结果是:形参是: (1, 2, 3),实参是: {'name': 'zxb', 'age': '18'}
2.字典当作位置参数传入:
注意:字典拆包两个*号
#字典可以当作位置参数传入 def dic_kwargs(**kwargs): print(kwargs) #里面在进行装包 if __name__ == '__main__': dic = {'name':18,'age':18} dic_kwargs(**dic) #相对与传进去的是name='zxb',age='18' #打印结果为:{'name': 18, 'age': 18}
3.列表当作位置参数传入:
注意:列表拆包 一个*号
#列表当作形参传入 def list_args(*args): print(args)#传进去的参数再进行装包 if __name__ == '__main__': lis=[1,2,3,'a',['zxb','zxl'],{'age':'20'}] list_args(*lis)#列表的里面的数据进行解包:1,2,3,'a',['zxb','zxl'],{'age':'20'} #打印结果为:(1, 2, 3, 'a', ['zxb', 'zxl'], {'age': '20'})