我想知道是否有人有任何快速解釋如何有效地和pythonically用可選參數創建用戶定義的對象的好方法。 舉例來說,我想創建該對象:python類的初始化程序中的可選參數
class Object:
def __init__(self, some_other_object, i, *j, *k):
self.some_other_object = some_other_object
self.i = i
# If j is specified, assume it is = i
if(j==None):
self.j = i
else:
self.j = j
# If k is given, assume 0
if(k==None):
self.k = 0
else:
self.k = k
有沒有更好的方式來做到這一點?
編輯:我改變了代碼,使它更廣泛,更容易理解。
這是無效的,你不能有多個'*'參數。以'*'爲前綴的參數成爲所有非關鍵字參數的*列表* *。 – 2013-03-20 22:12:48
感謝@Lattyware,這有助於。我看到* args和* keywordsargs等,並認爲它們可能指的是通過了不同的參數。 – chase 2013-03-20 22:17:20
毒素的答案是你想要的,它只是有一個主要缺陷(見我對它的評論)。 – 2013-03-20 22:17:52