ホームページ  >  記事  >  バックエンド開発  >  Python3でカスタムモジュールをインポートする3つの方法を詳しく解説

Python3でカスタムモジュールをインポートする3つの方法を詳しく解説

不言
不言オリジナル
2018-05-16 13:47:335728ブラウズ

この記事では主にPython3でカスタムモジュールをインポートする3つの方法をサンプルコードを通して詳しく紹介していますので、皆さんの勉強や仕事に役立つ学習価値があります

前書き

私は最近学びました。 Liao Xuefeng のチュートリアルのモジュール セクション。モジュールのカスタマイズ方法について、理解できない場合は、まず基本的な概要を見てみましょう:

モジュール

コンピュータープログラムの開発プロセスでは、より多くのプログラムコードが記述されるにつれて、ファイル内 コードはますます長くなり、保守はますます容易ではなくなります。

保守しやすいコードを記述するために、多くの関数を異なるファイルにグループ化し、各ファイルに含まれるコードが比較的少なくなるように、多くのプログラミング言語はこのコード編成方法を使用しています。 Python では、.py ファイルはモジュールと呼ばれます。

モジュールを使用する利点は何ですか?

最大の利点は、コードの保守性が大幅に向上することです。次に、コードを書くときに最初から始める必要がありません。モジュールを作成すると、他の場所から参照できます。プログラムを作成するとき、Python の組み込みモジュールやサードパーティのモジュールなど、他のモジュールを参照することがよくあります。

モジュールを使用すると、関数名と変数名の競合を回避することもできます。同じ名前の関数と変数が異なるモジュールに存在する可能性があるため、自分でモジュールを作成する場合、名前が他のモジュールと競合することを考慮する必要はありません。ただし、組み込み関数名と競合しないように注意してください。 Python のすべての組み込み関数を表示するには、ここをクリックしてください。

また、別の人が書いたモジュール名が同じだったらどうなるか、と考えているかもしれません。モジュール名の競合を避けるために、Python では、パッケージと呼ばれるディレクトリごとにモジュールを編成する方法が導入されています。

たとえば、ファイル abc.py は abc という名前のモジュールであり、ファイル xyz.py は xyz という名前のモジュールです。

ここで、2 つのモジュール名 abc および xyz が他のモジュールと競合すると仮定します。そのため、競合を回避するためにパッケージを通じてモジュールを整理できます。この方法では、mycompany などのトップレベルのパッケージ名を選択し、それを次のディレクトリに保存します。最上位のパッケージ名が他のモジュールと競合しない限り、すべてのモジュールが他のモジュールと競合しません。ここで、abc.py のモジュール名は mycompany.abc になり、同様に、xyz.py のモジュール名は mycompany.xyz になります。

各パッケージ ディレクトリの下に __init__.py ファイルが存在する必要があることに注意してください。このファイルが存在しない場合、Python はこのディレクトリをパッケージではなく通常のディレクトリとして扱います。 __init__.py 自体はモジュールであり、そのモジュール名は mycompany であるため、__init__.py は空のファイルにすることも、Python コードを含めることもできます。

同様に、複数レベルのディレクトリを使用して複数レベルのパッケージ構造を形成することもできます。たとえば、次のディレクトリ構造は次のとおりです。

mycompany

§─ web

│ §─ __init__.py

│ §─ utils.py

│ └─ www.py

§─ __init__.py

§─ abc.py

└ ─ xyz .py

ファイル www.py のモジュール名は mycompany.web.www、2 つのファイル utils.py のモジュール名はそれぞれ mycompany.utils と mycompany.web.utils です。



独自のモジュールを作成するときは、名前に注意してください。Python に付属のモジュール名と競合しないようにしてください。たとえば、システムに sys モジュールが付属している場合、モジュールに sys.py という名前を付けることはできません。そうしないと、システムに付属の sys モジュールをインポートできません。

mycompany.web もモジュールです。このモジュールに対応する .py ファイルを指摘してください。
概要

モジュールとは、他のモジュールを使用したり、他のモジュールからも使用できる Python コードのコレクションです。

独自のモジュールを作成する場合は、次の点に注意してください:

モジュール名は Python 変数の命名規則に従っている必要があり、中国語や特殊文字を使用しないでください。

システム モジュール名と競合しないことが最善です。最初にこのモジュールが存在することを確認します。確認方法は、Python 対話環境で import abc を実行することです。成功した場合、このモジュールはシステムに存在します。
  • 専門家による多くのモジュールのオープンソース共有は、みんなの開発をスピードアップします
  • についての情報を検索したとき、私はまだ始めたばかりなので、多くの詳細を理解していません。インターネットに関しては、専門家のチュートリアルがあまりにも合理的すぎて、初心者の私がうまく操作するのに非常に苦労する必要があることがわかりました。

    だからここに記録してください。

開始

最初の方法は直接インポートすることですここで大前提があります。それは、以下に示すように、py実行ファイルとモジュールが同じディレクトリ(親ディレクトリ)に属しているということです。

main.py と pwcong モジュールは同じ Python ディレクトリにあります

実行ファイルは main.py です
  • pwcong フォルダーはモジュールです

私は pwcong モジュールによって提供される関数を __init__.py に書きました。これは 1 つの hi 関数だけを提供します:

# pwcong 模块的 __init__.py
# -*- coding: utf-8 -*-
def hi():
 print("hi")

ファイル main.py を実行してモジュールを直接インポートします:

# main.py
# -*- coding: utf-8 -*-
import pwcong
pwcong.hi()

それから main.py を実行すると、コマンド ライン ウィンドウに「hi」という文が出力され、最初のメソッドが完了します。

モジュールの使用方法は次のとおりです: まず import -> 次に module.variable|function (上記の例の pwcong.hi() など) を入力します

次に、カスタム モジュールのパスをインポートしますsys モジュール

実行可能ファイルとモジュールが同じディレクトリにない場合、現時点では直接インポートではカスタム モジュールを見つけることができません。以下に示すように:

  • 実行ファイルmain.pyはメインディレクトリにあります

  • pwcongモジュールはPythonディレクトリにあります

sysモジュールはPythonに組み込まれているので、次の手順を実行しますカスタム モジュールをインポートする手順は次のとおりです:

  1. まず sys モジュールをインポートします

  2. 次に、sys.path.append(path) 関数を使用してカスタム モジュールが配置されているディレクトリをインポートします

  3. カスタム モジュールをインポートします。

このとき、main.pyは次のように書かれています:

# main.py
# -*- coding: utf-8 -*-
import sys
sys.path.append(r"C:\Users\Pwcong\Desktop\python")
import pwcong
pwcong.hi()

最後にmain.pyファイルを実行して、最後にhiを出力します。2番目の方法は完了です。

3 番目の方法は、pth ファイルを通じてカスタム モジュールを見つけることです

この方法の原理は、Python がシステム変数のパスをスキャンして、モジュールに追加できるモジュールをインポートすることです。システムパス。ただし、それでも pth ファイルの追加を使用することをお勧めします。

モジュールと実行可能ファイルのディレクトリ構造は図と同じです:

  • 実行可能ファイルmain.pyはメインディレクトリにあります

  • pwcongモジュールはPythonディレクトリにあります

module_pwcong.pth ファイルを作成します。内部のコンテンツは、pwcong モジュールが配置されているディレクトリです:

C:UsersPwcongDesktoppython

ここに module_pwcong.pth ファイルを置きます:

Python インストール ディレクトリ Python35Libsite-packages

例、私のもの:

次に、main.py がカスタム モジュールをインポートして使用します:

# -*- coding: utf-8 -*-
import pwcong
pwcong.hi()

最後に main.py ファイルを実行すると、出力できます。こんにちは、3 番目の方法が完了しました。




以上がPython3でカスタムモジュールをインポートする3つの方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。