可变长参数存在的意义是:每次调用一个函数处理不同量的参数输入。即,参数在调用之前输入的参数数量是未知的,或者多次调用该函数,每次的参数输入的量是不一致的;
可变长参数分为非关键字和关键字类型,分别对应元组和字典,如下定义一个类,功能是打印出输入的函数:
1 >>> class Test: 2 def keyword(self,a,b,*non_keyword,**keyword): 3 print(‘a is ‘,a) 4 print(‘b is ‘,b) 5 print(‘non_keyword‘,non_keyword) 6 for key in keyword: 7 print("‘%s‘:%s" % (key,str(keyword[key]))) 8 >>> test = Test() 9 >>> dis = test.keyword(‘a‘,‘b‘,(‘c‘,‘d‘),e=‘e‘,f=‘f‘) 10 a is a 11 b is b 12 non_keyword ((‘c‘, ‘d‘),) 13 ‘e‘:e 14 ‘f‘:f
以上的输入时一次输入的情形,当再次调用,输入不同的数量的参数时,依然可以打印出:
1 >>> test0 = Test() 2 >>> dis0 = test0.keyword(‘a‘,‘b‘,(‘c‘,‘d‘,‘c0‘,‘c1‘,‘d0‘,‘d1‘),e=‘e‘,f=‘f‘,g=‘g‘,h=‘h‘) 3 a is a 4 b is b 5 non_keyword ((‘c‘, ‘d‘, ‘c0‘, ‘c1‘, ‘d0‘, ‘d1‘),) 6 ‘h‘:h 7 ‘e‘:e 8 ‘f‘:f 9 ‘g‘:g
所以可变长参数输入具有一定的灵活性,更利用应对不同场景。
时间: 2024-11-17 05:57:44