通过导入访问另一个类对象

时间:2012-12-10 08:52:57

标签: python python-2.6

我有一个程序名称“new.py”,带有“:

class hello:

    def __init__(self, summary):
        self.summary = summary


    def hi(self):
        print self.summary

if __name__ == "__main__":
    h = hello(summary = "this is a hello program")
    h.hi()

当我想访问函数hi进入另一个程序名称another.py,然后我无法访问该功能..请帮助我并纠正我也... another.py:

import new 

    class another:

        def __init__(self, value):
            self.value = value

        def show(self):
            print "value is %s" % self.value
            new.hi()
            print "done"

    if __name__ == "__main__":
        a = another(value = "this is a another value")
        a.show()

输出:

new.hi()
AttributeError: 'module' object has no attribute hi

2 个答案:

答案 0 :(得分:4)

问题是您没有初始化hello对象。所以你需要在调用hi函数之前在某处执行此操作:

        n  = new.hello('some string')

然后你可以打电话:

       n.hi()

答案 1 :(得分:0)

实际问题是:

import new

然后:

new.hi()

hi()没有在new中定义,它在new.hello中定义,这是你的类。 您需要创建类hello的新实例并从那里调用hi()。