我想了解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