0

我有一个程序名称“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
4

2 回答 2

4

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

        n  = new.hello('some string')

然后你可以打电话:

       n.hi()
于 2012-12-10T09:00:31.047 回答
0

实际的问题是你这样做:

import new

接着:

new.hi()

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

于 2012-12-10T09:16:37.160 回答