首页 > 代码库 > python可变长参数(非关键字及关键字参数)

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


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

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