2012-05-23 43 views
19

我想刷新我的python技能,而且我正在寫類,但我似乎碰到了一個非常混亂的錯誤。儘管導入包含我的類的.py文件,python堅持認爲類實際上不存在。類雖然被導入,但沒有被定義

類DEF:

class greeter: 
    def __init__(self, arg1=None): 
     self.text = arg1 

    def sayHi(self): 
     return self.text 

main.py:

#!/usr/bin/python 
import testclass 

sayinghi = greeter("hello world!") 
print sayinghi.sayHi() 
現在

,據我所知道的,我按照所有的文件下到 'T',我甚至初始化參數到None由於評估時間與創建時間限制等問題,這對某些人來說似乎是個問題,我已經確定init是定義好的第一個函數,但仍無濟於事,雖然我有一個理論認爲導入不是正如它應該那樣工作....任何幫助將非常感激。

回答

27

使用完全合格的名稱:

sayinghi = testclass.greeter("hello world!") 

還有就是import一種替代形式,將帶來greeter到您的命名空間:

from testclass import greeter 
13
import testclass 
# change to 
from testclass import greeter 

import testclass 
sayinghi = greeter("hello world!") 
# change to 
import testclass 
sayinghi = testclass.greeter("hello world!") 

您導入了模塊/包,但您需要引用其中的類。

你也可以做到這一點,而不是

from testclass import * 

不過這時要注意的namespace pollution

相關問題