ホームページ >バックエンド開発 >Python チュートリアル >Pythonでインポートを使用する方法
Python で import メソッドを使用します: 1. [import module_name]、つまり、モジュール名はインポート後に直接接続されます; 2. [from package_name import module_name] はモジュールのコレクションです。
このチュートリアルの動作環境: Windows 7 システム、Python バージョン 3.9、DELL G3 コンピューター。
Python でインポート メソッドを使用します。
まず、作業ディレクトリとしてフォルダー Tree を作成し、その中に 2 つのファイル m1.py と m2 を作成します。 m1.py にコードを書き込みます:
import os import m2 m2.printSelf()
m2.py にコードを書き込みます:
def printSelf(): print('In m2')
コマンドラインを開き、Tree ディレクトリに入り、 python m1.py と入力して実行すると、エラーはありませんでした。と報告され、In m2 が出力され、この方法でインポートを使用しても問題がないことが示されています。ここから、import ステートメントの最初の使用法を要約します。
<strong>モジュール名</strong>
をインポートします。 つまり、インポート後にモジュール名が直接接続されます。この場合、Python は 2 つの場所でこのモジュールを検索します。1 つ目は sys.path (コード import sys; print(sys.path) を実行して確認します)。os モジュールが配置されているディレクトリはリストにあります。一般的にインストールされる Python ライブラリのディレクトリは sys.path にあります (Python インストール ディレクトリをコンピュータの環境変数に追加することが前提です)。そのため、インストールされているライブラリについては、直接インポートできます。 2位は実行ファイル(ここではm1.py)が置かれているディレクトリですが、m2.pyと実行ファイルは同じディレクトリにあるので上記の書き方で問題ありません。
上記の方法で元のsys.pathにライブラリをインポートしても問題ありません。ただし、同じディレクトリにファイルをインポートするために上記の方法を使用しないことをお勧めします。なぜなら、これは間違った方向に進む可能性があるからです。このエラーを示すには、import ステートメントの 2 番目の記述方法を使用する必要があるため、最初に import ステートメントの 2 番目の記述方法を学習しましょう。 Tree ディレクトリの下に新しいディレクトリ Branch を作成し、Branch 内に新しいファイル m3.py を作成します。m3.py の内容は次のとおりです:
def printSelf(): print('In m3')
m3.py を m1 にインポートする方法については、変更された m1.py :
from Branch import m3 m3.printSelf()
import ステートメントの 2 番目の使用法を要約します:
##from package_name import module_name<strong></strong>## #。
一般に、モジュールの集合をパッケージと呼びます。最初の記述方法と同様に、Python は sys.path と実行ファイル ディレクトリの 2 つの場所でパッケージを検索し、パッケージ内の module_name という名前のモジュールをインポートします。 次に、同じディレクトリ内のファイルをインポートするために最初のインポート方法を使用すべきではない理由を説明しましょう。 Branch ディレクトリに新しい m4.py ファイルを作成します。m4.py の内容は次のとおりです:
def printSelf(): print('In m4')
次に、m4 を m3.py に直接インポートすると、m3.py は次のようになります:
import m4 def printSelf(): print('In m3')
現時点では、m1.py を実行すると、m4 モジュールをインポートできないというエラーが報告されます。なぜ?インポート プロセスを見てみましょう。m1 は from Branch import m3 を使用して m3 をインポートし、次に m3.py の import m4 を使用して m4 をインポートします。問題がわかりましたか? m4.py と m1.py が同じディレクトリにありません。import m4 を直接使用して m4 をインポートするにはどうすればよいですか。 (読者は別の m4.py ファイルを Tree ディレクトリに直接作成してみることができます。m1.py を再度実行するとエラーは発生しませんが、2 番目の m4.py がインポートされることがわかります)
直面した問題上記のエラーは、python2 を使用して m1.py を実行するときにエラーは報告されません。これは、python2 では、上記のインポートの 2 つの記述方法が相対インポートであるのに対し、python3 では絶対インポートであるためです。そうは言っても、輸入の最も重要な部分、つまり相対輸入と絶対輸入についてになります。
Python3 のインポートの使用法については引き続き説明します。上記の 2 つの記述方法は絶対インポートであり、sys.path 内のパッケージと実行ファイルが配置されているディレクトリ内のパッケージをインポートするために使用されます。 sys.path 内のパッケージの場合はこの書き方でも問題ありませんが、自分で書いたファイルをインポートする場合、それが非実行エントリファイル (上記の m1.py は実行エントリファイル) であれば、絶対インポートを使用できます。 )、相対的にインポートする必要があります。
たとえば、実行されていないエントリ ファイル m3.py の場合、相対インポートを使用して m4.py をインポートする必要があります。
from . import m4 def printSelf(): print('In m3')
これで m1.py を実行しても問題ありません。時間。
関連する無料学習の推奨事項:Python ビデオ チュートリアル
以上がPythonでインポートを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。