慎用變長引數
python支援可變長度的引數列表,可以通過*arg, **kwargs這兩個特殊語法來實現。以下為變長引數使用的例子:
* 使用*args 來實現可變引數列表: *args用接受
乙個包裝為元組形式的引數列表來傳遞非關鍵字引數,引數個數可以隨意。
def
sumfun
(*args):
result = 0
for x in args[0:]:
result += x
return result
print sumfun(2, 4)
print sumfun(1,2,3,4,5)
print sumfun()
def
category_table
(**kwargs):
for name, value in kwargs.items():
print
' is a kind of '.format(name, value)
category_table(bmw = 'car')
def
set_axis
(x, y xlabel='x', ylable='y', *args, **kwargs):
pass
def
mydecorator
(fun):
defnew
(*args, **kwargs):
return fun(*args, **kwargs)
return new
class
a(object):
defsomefun
(self, p1, p2):
pass
class
b(a):
defmyfun
(self, p3, *args, **kwargs):
super(b, self).somefun(*args, **kwargs)
本文摘自《編寫高質量** 改善python程式的91個建議》 python變長引數列表 可變長引數
可變長引數 預設情況下,必須使用正確數量的引數呼叫函式,這意味著,如果您的函式需要2個引數,則必須使用2個引數 不多也不少 來呼叫函式。示例,該函式需要2個引數,並獲得2個引數 def my function fname,lname print fname lname my function emi...
python 中的變長引數列表
在python中實現變長引數可以通過關鍵字引數以及非關鍵字引數來實現,使用 指定字典為關鍵字引數,指定元組為非關鍵字引數。1.關鍵字引數 定義含有非關鍵字引數的函式 def func name 位置引數或缺省引數,non keyword args def func1 arg1,arg2,arg3 p...
python 中的變長引數列表
在python中實現變長引數可以通過關鍵字引數以及非關鍵字引數來實現,使用 指定字典為關鍵字引數,指定元組為非關鍵字引數。定義含有非關鍵字引數的函式 def func name 位置引數或缺省引數,non keyword args def func1 arg1,arg2,arg3 print arg...