7

初心者として、モジュール内の特定の関数(random、time、os、sysなどのモジュール)をかなり呼び出すという理由だけで何かを書き始めると、ほとんどデフォルトでモジュールをインポートするのが好きになりました。ただし、これはパフォーマンスにまったく影響しますか?モジュール内の特定の機能のみが必要な場合は、明示的に要求することで対応できますか、それとも気にしないでください。

4

1 に答える 1

7

実行する場合でもfrom module import name、Pythonを実行するmodule必要があるため、パフォーマンス面での違いはありません。

一般に、モジュールから1つだけを使用している場合は使用できますがfrom x import y、それ以外の場合は、を使用するimport xx.y名前が競合する可能性が低くなります。

この理由は、Pythonが関数とクラスを特別に処理しないためです。モジュールからインポートする場合、実行しているのは、そのモジュールからオブジェクトを取得して使用することだけです。これは、モジュール(およびクラスと関数)を非常に柔軟にするので便利ですが、Pythonがモジュールからインポートする前に、モジュールのスクリプト全体を実行する必要があることを意味します(当然、モジュール作成者はこれを回避できます)イディオムを使用して、if name == "main":インポート時に実行してはならないコードを挿入します)。

于 2013-02-28T20:37:29.070 に答える