我有一个程序名称“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
答案 0 :(得分:4)
问题是您没有初始化hello对象。所以你需要在调用hi函数之前在某处执行此操作:
n = new.hello('some string')
然后你可以打电话:
n.hi()
答案 1 :(得分:0)
实际问题是:
import new
然后:
new.hi()
hi()没有在new中定义,它在new.hello中定义,这是你的类。 您需要创建类hello的新实例并从那里调用hi()。