ホームページ > バックエンド開発 > Python チュートリアル > 「import *」は Python で __init__.py をインポートしますか?

「import *」は Python で __init__.py をインポートしますか?

Linda Hamilton
リリース: 2024-12-10 08:10:10
オリジナル
1026 人が閲覧しました

Does

Python での "import *" インポートとは何ですか?また、__init__.py とどのように関連していますか?

Python では、"import *" " ステートメントは、指定されたモジュールから現在のモジュールに非プライベート (つまり、アンダースコアで始まらない) すべてのシンボルをインポートします。これにより、モジュール名のプレフィックスを使用せずに、インポートされたシンボルに直接アクセスできるようになります。

Does "import *" Import __init__.py?

いいえ、"import *"このステートメントは、含まれているフォルダーにある __init__.py ファイルを自動的にインポートしません。 __init__.py は、Python がモジュールのインポート時にモジュールを初期化するために使用する特別なファイルです。 __init__.py を明示的にインポートするには、次のようにモジュール名を指定して "import" ステートメントを使用する必要があります:

from project.model import __init__
ログイン後にコピー

"import *" の利点と欠点:

「import *」の主な利点は、すべてのシンボルを一度にインポートできる利便性です。ただし、この方法は一般に次の理由から推奨されません:

  • 名前空間の衝突: インポートされたシンボルは現在のモジュール内の既存のシンボルと競合する可能性があります。
  • 非効率: 多数のシンボルをインポートすると、プログラム。
  • 明示的なドキュメントの欠如: "*" を使用する場合、インポートされたシンボルの出所を追跡するのが難しい場合があります。

推奨プラクティス:

「import *」の代わりに、特定のシンボルのみをインポートすることをお勧めします必要です。これは、

  • 明示的なインポート:

    from math import pi
    ログイン後にコピー
  • モジュールのいずれかを使用して実行できます。エイリアシング:

    import math as m
    ログイン後にコピー

サブモジュールと "import *":

モジュールにサブモジュールが含まれる場合、"import *" はこれらのサブモジュールは、明示的にメインモジュールの all 属性。

結論:

「import *」は便利な場合もありますが、明示的なメソッドを優先するため、一般的に推奨されません。インポートまたはモジュールのエイリアス。 __init__.py はモジュールの初期化に使用される特別なファイルであり、「import」ステートメントを使用して個別にインポートする必要があります。

以上が「import *」は Python で __init__.py をインポートしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート