2012-05-23 41 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

相关问题