インポートされた内部で表示されるように、インポーターで関数を定義するにはどうすればよいですか? 私はこれを試しました
importer.py
は
def build():
print "building"
build()
import imported
これにより、imported.py
単純に
build()
それでも、これは失敗します
building
Traceback (most recent call last):
File "C:\Users\valentin\Desktop\projects\maxim\miniGP\b01\evaluator\importer.py", line 6, in <module>
import imported
File "C:\Users\valentin\Desktop\projects\maxim\miniGP\b01\evaluator\imported.py", line 1, in <module>
build()
NameError: name 'build' is not defined
更新循環インポートを行うための応答を得た後、インポートとインポートが相互に依存するようになりましたが、これが常に良いとは限らないことを明確にする必要があると感じています。私の目的は、インポートされたモジュールでいくつかの一般的な戦略を指定することです。いくつかのユーザー定義関数を使用しますbuild
。ユーザーは必要な関数を定義し、戦略を呼び出します。ポイントは、共有戦略が特定のユーザー定義に依存してはならないということです。の代わりに のimport
ようなものが必要だevaluate(imported.py)
と思います。これは、Python を含むあらゆるスクリプト言語の基本的な関数であると私は信じています。irc://freenode/python は、使用する必要があると主張していますが、そのimport
方法がわかりません。