Python 3 のインポート ステートメントの進化
Python 3 では、明確さを促進し、曖昧さを避けるためにインポート ステートメントに大幅な変更が導入されました。
相対Imports
Python 2 では、パッケージ内の暗黙的な相対インポートが広く使用されていました。これは、モジュールがパスを指定せずに同じパッケージ内の他のモジュールからインポートできることを意味します。例:
# Python 2 from my_module import MyClass
ただし、Python 3 では、相対インポートはサポートされなくなりました。代わりに、明示的なインポートまたは絶対インポートを使用する必要があります。これは、インポートが相対的であるか絶対的であるかについての混乱を防ぐのに役立ちます。
# Python 3 from .my_module import MyClass
スター インポート
スター インポートは、* を使用してモジュールからすべてのシンボルをインポートします。 Python 2 ではモジュール レベルと関数レベルの両方で許可されています。ただし、Python 3 では、スターのインポートはモジュール レベルでのみ許可されます。これにより、可読性が向上し、名前空間の競合の可能性が減ります。
たとえば、Python 2 では次のことが許可されていました:
# Python 2 def my_function(): from math import *
Python 3 では、これを次のように変更する必要があります:
# Python 3 def my_function(): from math import sin, degrees
インポート ステートメントのこれらの変更を理解することで、開発者はコードが Python 3 と互換性があることを確認し、曖昧さや潜在的な問題を回避できます。エラー。
以上がPython 3 のインポート ステートメントは Python 2 からどう変わりましたか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。