Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我试图用python 3.4中的一个实例运行这个类,我看了这个示例,但他们使用了2.7, 类和实例应在单独的行上显示ham和5_Python - Fatal编程技术网

我试图用python 3.4中的一个实例运行这个类,我看了这个示例,但他们使用了2.7, 类和实例应在单独的行上显示ham和5

我试图用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

我用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 init\uuuu
。然后,在创建对象时调用它


希望这有帮助

调用init的方法是
\uuuu init\uuu
。当您简单地使用init时,函数将不会执行。

这与Python的版本无关。2.7和3.4在这方面的工作方式相同

问题是
init
应该是
\uuuu init\uuuu
。目前,如果您在创建对象后立即调用
init
,它就会工作,如下所示

x = Ph()
x.init()

但是当每个对象都存在时,一个名为
\uuuuu init\uuuu
的方法会被自动调用。

您得到了什么消息?