2014-10-02 33 views
-2

類和實例應在單獨的行

我與蟒蛇想這顯示火腿和5 3.4我想用一個實例在Python 3.4運行類,我看到的例子,但他們使用的2.7,

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

感謝之間的差異

韋恩

+0

「此消息」? – 2014-10-02 05:11:27

+0

你收到什麼信息? – SimY4 2014-10-02 05:16:19

回答

3

那麼,這是不是版本問題..

self.y是未申報的,因爲函數init是從未打過電話你應該把它命名爲__init__。然後,它會在對象創建時被調用。

希望這會有所幫助!

1

初始化調用的方法是__init__。當你使用初始化簡單,功能將不執行..

1

這是無關的Python版本。 2.7和3.4在這方面的工作方式相同。

問題是init應該是__init__。因爲它代表它會工作,如果你叫init創建對象之後,類似這樣的

x = Ph() 
x.init() 

但是當每一個物體進入存在被自動調用一個名爲__init__方法。

相關問題