尽管导入了类,但未定义类

时间:2012-05-23 14:48:15

标签: python class module

我正在努力提高我的python技能,而且我正在编写类,但我似乎遇到了一个非常令人困惑的错误。尽管导入了包含我的类的.py文件,但python坚持认为该类实际上并不存在。

class 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,因为eval时间与创建时间限制等等似乎是某些人的问题,我已经确定 init 是第一个定义的函数,但仍无济于事,虽然我有一个理论认为导入不能正常工作......任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:31)

使用完全限定名称:

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

import的替代形式会将greeter带入您的命名空间:

from testclass import greeter

答案 1 :(得分:15)

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

相关问题