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 に答える