python可变长参数(非关键字及关键字参数)

可变长参数存在的意义是:每次调用一个函数处理不同量的参数输入。即,参数在调用之前输入的参数数量是未知的,或者多次调用该函数,每次的参数输入的量是不一致的;

可变长参数分为非关键字和关键字类型,分别对应元组和字典,如下定义一个类,功能是打印出输入的函数:

 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


所以可变长参数输入具有一定的灵活性,更利用应对不同场景。

posted @ 2017-04-03 13:17  online-c  阅读(1506)  评论(0)    收藏  举报