初心者として、モジュール内の特定の関数(random、time、os、sysなどのモジュール)をかなり呼び出すという理由だけで何かを書き始めると、ほとんどデフォルトでモジュールをインポートするのが好きになりました。ただし、これはパフォーマンスにまったく影響しますか?モジュール内の特定の機能のみが必要な場合は、明示的に要求することで対応できますか、それとも気にしないでください。
3886 次
1 に答える
7
実行する場合でもfrom module import name
、Pythonを実行するmodule
必要があるため、パフォーマンス面での違いはありません。
一般に、モジュールから1つだけを使用している場合は使用できますがfrom x import y
、それ以外の場合は、を使用するimport x
とx.y
名前が競合する可能性が低くなります。
この理由は、Pythonが関数とクラスを特別に処理しないためです。モジュールからインポートする場合、実行しているのは、そのモジュールからオブジェクトを取得して使用することだけです。これは、モジュール(およびクラスと関数)を非常に柔軟にするので便利ですが、Pythonがモジュールからインポートする前に、モジュールのスクリプト全体を実行する必要があることを意味します(当然、モジュール作成者はこれを回避できます)イディオムを使用して、if name == "main":
インポート時に実行してはならないコードを挿入します)。
于 2013-02-28T20:37:29.070 に答える