2014-03-24 90 views
0

我想在Python中創建一個新類的實例。我試過這裏的解決方案: Instances in python在python中創建一個實例

但它沒有奏效。所以,我的主類我有

if __name__ == '__main__': 
    Tim = Person 
    movement = Person.walk() 

其中「Person」是我想創建的類的名稱和實例。它有我想要使用的方法。

我一直儘管收到此錯誤:

Undefined Variable:Person 

我也試過實際實現方法具內聲明的類實例,而不是init,但是我得到了同樣的錯誤。

歡迎任何建議。感謝

+0

這是一個奇怪的錯誤。你是否正確導入/定義了Person類?另外你可以通過調用它來實例化類:'Person()'。 – freakish

回答

2

更正:如果你想創建一個類的實例,並使用該實例調用裏面的方法請用支架下課類。

if __name__ == '__main__': 
    Tim = Person() 
    movement = Tim.walk() 

OR但不建議

if __name__ == '__main__': 
    movement = Person().walk() 
+0

我得到相同的錯誤。這些課程是否必須在同一個文件中?也許這是什麼錯誤?它們在同一目錄中,只是不同的文件 – JustBlossom

+0

@ Blossom96在使用它之前,您必須「導入」Person類。 – That1Guy

+0

如果類不在同一個文件中,那麼是的,那麼您需要導入定義該類的模塊即文件。 –

2

你只需要添加一些括號:

Tim = Person() 

這告訴Python來訪問構造函數。

您提供的代碼告訴我,您可能沒有定義類Person。你的代碼應該有一個class Person定義。

class Person: 
    def walk(self): 
     print "I'm walking!" 

if __name__ == "__main__": 
    Time = Person 
    movement = Person.walk() 
    print movement 

,或者您需要import一個呼叫class Person

from my_other_python_file import Person 

if __name__ == "__main__": 
    Time = Person 
    movement = Person.walk() 
    print movement 
0

你需要有括號調用構造函數。

Tim = Person() 

正如你現在擁有它,Tim = Person被解釋爲分配Tim尚未定義的變量Person的價值。

相關問題