from .setting import * from setting import * 2つは同じ意味?

from .setting import *from setting import * は同じ意味ではありません。これらはPythonにおいて異なる挙動を示します。

  1. from .setting import *:

    • .は相対インポートを示しています。from .setting は、現在のディレクトリ(モジュール)内の setting モジュールを指します。
    • import * は、モジュール内の全ての名前をインポートすることを示します。ただし、*を使用することは一般的には推奨されていません。なぜなら、どの名前がインポートされるかが分かりにくく、名前の衝突が発生しやすいためです。
  2. from setting import *:

    • from setting は、Pythonのパスにある setting モジュールを指します。相対パスではなく、通常の絶対パスによるインポートです。
    • 同様に、import *は全ての名前をインポートしますが、こちらも一般的には非推奨です。

通常、import *は避け、代わりに具体的な名前を指定してインポートすることが推奨されます。これにより、コードの可読性が向上し、名前の衝突が防がれます。例えば:

python
# 推奨される形 from .setting import specific_name1, specific_name2 # または from setting import specific_name1, specific_name2

最初の例は相対インポートを使用していますが、これはモジュールがパッケージ内にある場合などに一般的です。どちらを選ぶかは、モジュールの構造や使い方に依存します。

未分類

Posted by ぼっち