2

そのモジュールで定義されていないメソッドを呼び出したいモジュールがあります。出来ますか?

#module
def foo():
    print bar()

#main
from foo import foo

def bar():
    return "Foo bar"

def main():
    foo.foo()
4

2 に答える 2

2

いいえ、あなたがすることはできません。Python は、関数が定義されているモジュールと同じモジュールで未定義の名前を検索します。

代わりに関数参照を渡す必要があります。

def foo(func):
    print func()

次にメインで:

def main():
    foo.foo(bar)
于 2013-02-17T15:12:59.910 に答える
1

あるモジュールから別のモジュールに関数を追加することもできますが、コールバックとして渡す方がおそらく適切です。状況によります。

#module
def foo(bar):
    print bar()

#main
from foo import foo

def bar():
    return "Foo bar"

def main():
    foo(bar)
于 2013-02-17T15:13:28.577 に答える