我试图用python 3.4中的一个实例运行这个类,我看了这个示例,但他们使用了2.7, 类和实例应在单独的行上显示ham和5
我用Python3.4尝试过这个我试图用python 3.4中的一个实例运行这个类,我看了这个示例,但他们使用了2.7, 类和实例应在单独的行上显示ham和5,python,Python,我用Python3.4尝试过这个 class Ph: def init (self): self.y=5 def printHam(self): print ('ham') x = Ph() x.printHam() print (x.y) 我一直收到这个消息,我怎么才能解决它?发生了什么事?我假设这是python 2.7和3.4之间的区别 提前谢谢 韦恩,这不是版本问题 self.y未声明,因为从未调用函数init。你应该把它命名为\uuuu
class Ph:
def init (self):
self.y=5
def printHam(self):
print ('ham')
x = Ph()
x.printHam()
print (x.y)
我一直收到这个消息,我怎么才能解决它?发生了什么事?我假设这是python 2.7和3.4之间的区别
提前谢谢
韦恩,这不是版本问题
self.y
未声明,因为从未调用函数init
。你应该把它命名为\uuuu init\uuuu
。然后,在创建对象时调用它
希望这有帮助 调用init的方法是
\uuuu init\uuu
。当您简单地使用init时,函数将不会执行。这与Python的版本无关。2.7和3.4在这方面的工作方式相同
问题是init
应该是\uuuu init\uuuu
。目前,如果您在创建对象后立即调用init
,它就会工作,如下所示
x = Ph()
x.init()
但是当每个对象都存在时,一个名为
\uuuuu init\uuuu
的方法会被自动调用。您得到了什么消息?