疑いがある場合は、通常、モジュールの上部にインポート文を配置します。しばしば、これは反復を減らします。これはうまくいきます。ただし、1つの関数(またはクラス)のみがインポートを必要とする場合は、パフォーマンスの低下がありますか?Python関数レベルでのインポート。モジュールレベル
この関数を呼び出すと、次のようなインポートが行われますか?
def func():
from task import test
もしそうなら、それはわずかな効率であるかもしれないと思います。また、インポートされたオブジェクトはグローバル辞書に追加されないため、ガベージコレクションと変数スコープの高速化のためにいくつかの点を追加することができます。別のポスターでうまくいけば:
これは主に可変ルックアップによるものです。グローバルスコープで変数を検索するには、辞書検索が必要です。対照的に、コンパイラはローカル名を静的に決定し、それらをインデックスで参照するため、辞書検索は不要です。
これらの公平な仮定は完全に基底から外れていますか?
おかげ
名前ルックアップのパフォーマンスについては、**問題ではありません。**まれに、コードを完成させたときに、コードが遅すぎてプロファイリングされていることがわかります。 – delnan