我想了解Python中構造函數__init__
的參數。Python中的__init__和參數
class Num:
def __init__(self,num):
self.n = num
def getn(self):
return self.n
def getone():
return 1
myObj = Num(3)
print myObj.getn()
結果:3
我稱之爲getone()
方法:
print myObj.getone()
RESULT:錯誤 'getone()' 不帶參數(1given)。
所以我代替:
def getone():
return 1
與
def getone(self):
return 1
結果:1這是可行的。
但getone()
方法不需要參數。
我必須使用毫無意義的論據嗎?
它們不是毫無意義的。每個類的方法總是有一個隱含的參數,即實例。在C++中它是一樣的,但你永遠不會在參數列表中看到它,因爲它神奇地出現在仙女森林的灌木叢中。Python是'顯式優於隱式'的。 – 2011-03-02 15:01:02
你可以使用@staticmethod和@classmethod裝飾器來做你想做的事。請參閱我的答案中的示例。 – stderr 2011-03-02 15:13:11