著者ホームページ: プログラミングコンパス
著者について: Java、フロントエンド、Python は長年にわたって開発されており、シニア エンジニア、プロジェクト マネージャー、アーキテクトとして働いてきました。
主な内容:Javaプロジェクト開発、卒業設計開発、面接技術整理、最新技術共有
お気に入り、いいね、迷わず作者フォローすると良いです
記事の最後にあるソースコードを入手してください
# Python の高度な学習
2番目に、モジュール
モジュールは Python の非常に重要な設計であり、主に他の人や自分自身のために再利用可能なコードをカプセル化するために使用されます。関数はコードをカプセル化するために使用されるため、モジュールには他のユーザーが使用する複数の関数を含めることができます。カプセル化された関数と変数の一部を .py ファイルにカプセル化します。他のユーザーがそれを使用する場合、インポート ステートメントを使用してインポートして使用できます。直接、とても便利です。Java クラスをインポートするのと同じように。Python には多数の組み込みモジュールが用意されており、使用できるサードパーティのモジュール ライブラリも多数あり、使用するモジュールをカスタマイズすることもできます。
2.1 モジュールの作成
1. ファイル名の接尾辞は .py である必要があります。
2. モジュール名は、組み込みモジュール ライブラリ内の名前と同じであってはなりません
例: 定義した関数を mathadd.py ファイルにカプセル化します。
def add(a,b):
return a+b
2.2 モジュールをインポートして使用する
1.使用 import module [as alias]
モジュール名が比較的長い場合は、エイリアスとして名前を設定してエイリアス経由で使用できますが、それ以外の場合は使用できません。ただし、モジュール内の関数または変数を呼び出す場合は、モジュール名を追加する必要があります。複数のモジュールを同時にインポートする場合は、それらを個別にインポートすることをお勧めします。または、カンマで区切ってすべてを一度にインポートすることもできます。
例:
import mathadd
result = mathadd.add(1,2)
print(result)
2. from ... import を使用してモジュールをインポートします
この方法でインポートして使用すると、モジュールに変数や関数をインポートする際に関数名を追加する必要がありません。モジュールインポート関数から
from mathadd import add
result = add(1,2)
print(result)
from mathadd import * #表示导入模块中所有的元素
2.3 モジュール検索ディレクトリ
import を使用してモジュールをインポートする場合、このモジュールはどのように検索されてインポートされますか。デフォルトでは、検索は次の順序で行われます。
(1) カレントディレクトリ(Pythonスクリプトファイルを実行するディレクトリ)内を検索します。
(2) PYTHONPATH(環境変数)配下の各ディレクトリを検索します。
(3) Python のデフォルトのインストールディレクトリを検索します。
上記のディレクトリの特定の場所は、標準モジュール sys の sys.path 変数に保存されており、次のコードを通じて特定のディレクトリの場所を出力することで確認できます。
import sys
print(sys.path)
インポートしたいモジュールがパス変数にない場合は、インポートされたモジュールが存在しないことを示すエラー メッセージが表示されます。
必要に応じて、次の 3 つの方法で、指定したディレクトリを sys.path に追加できます。
1. 一時追加:このメソッドは実行中のウィンドウ内でのみ有効であり、ウィンドウを閉じると無効になります。
import sys
sys.path.append('要添加的目录')
2. .pth ファイルを追加します (推奨)
現在インストールされている Python で Lib\site-packages サブディレクトリを見つけ、拡張子 .pth を持つファイルを作成します。ファイル名は任意で、このファイルに追加するディレクトリを書き込むだけです。このメソッドは、Python の現在のバージョンでのみ有効です。
3. PYTHONPATH 環境変数に追加します
現在のオペレーティングシステムの環境変数設定に、環境変数 PYTHONPATH を追加または編集し、追加するディレクトリを追加または追加することで有効になりますが、この方法は Python のすべてのバージョンで有効です。
2.4 メインプログラムとして実行する
ここで大文字と小文字を変更してみましょう。 mathadd.py に出力ステートメントを追加します。
def add(a,b):
return a+b
print("我来了.....")
モジュールをインポートし、メソッドを実行します。
from mathadd import add
result = add(1,2)
print(result)
出力結果:
我来了.....
3
add を呼び出すだけですが、print ステートメントも実行されます。呼び出しモジュール内のコードが実行されると、モジュール内のすべての実行可能コードが実行されます。これは私たちが望んでいることではありません。どうすれば解決できますか?
元のモジュールのコードが実行される場所に if ステートメントを追加して、メインプログラムが実行されるかどうかを判断するだけです。
def add(a,b):
return a+b
if __name__ == '__main__':
print("我来了.....")
各モジュールにはモジュール名を記録した _ _ name _ _ があり、他のモジュールやファイルにインポートされて実行されない場合は、最上位モジュール _ _ main _ _ で実行され、判定はまた、mathadd.py を直接実行すると、このコードは実行できますが、それ以外の場合は実行されません。
2.5 Python のパッケージ
パッケージは主に、異なるカテゴリの定義を保存する関連モジュールによって使用され、同じ名前のモジュール間の競合を効果的に回避することもできます。
物理的には、パッケージはフォルダーですが、各フォルダーに _ _init _ _.py ファイルが存在する必要があります。このファイルにはコードを記述しなくてもよく、必要に応じてコードを記述しても構いません。記述されたコードは次の形式でインポートされます。パッケージが自動的に実行されました。IDEA などの関連開発ツールでは、Python プラグインをインストールした後、右クリックしてプロジェクト内に Python パッケージを作成できます。作成後に _ _init _ _.py ファイルが自動的に生成されます。
設定パッケージを作成します。
パッケージの作成後、このパッケージの下に関連モジュールを作成して保存できます。インポートされたモジュールをインポートして使用するには、通常、次の 3 つの方法があります。
(1) 指定したモジュールを「インポート+完全なパッケージ名+モジュール名」の形式でロードします。
例: サイズモジュールを作成し、幅と高さの 2 つの変数を定義します。
import settings.size
if __name__ == '__main__':
print('宽度:',settings.size.width) #在调用变量时需添加settings.size前缀
print('高度:',settings.size.height) #在调用变量时需添加settings.size前缀
(2) 指定したモジュールを「from+完全パッケージ名+import+モジュール名」の形式でロードします。
例:
from settings import size
if __name__ == '__main__':
print('宽度:',size.width) #在调用变量时需添加size前缀
print('高度:',size.height) #在调用变量时需添加size前缀
(3) 指定したモジュールを「from+完全パッケージ名+モジュール名+インポート+定義名」の形式でロードします。
例:
#导入包中的模块 (3)
from settings.size import width,height
if __name__ == '__main__':
print('宽度:',width) #在调用变量时无需添加前缀
print('高度:',height) #在调用变量时无需添加前缀
2.6 他のモジュールの参照
1. 標準モジュールをインポートして使用する
Python には、使用できる標準モジュールが多数組み込まれており、以下をインポートすることで直接使用できます。
例:
#导入标准模块库
import random
print(random.randint(0,10)) #输出一个0-10之间的随机整数
Pythonでよく使われる標準ライブラリは以下の通りです。
2. サードパーティモジュールのダウンロードとインストール
組み込みの標準モジュールに加えて、使用できる豊富なサードパーティ モジュールが多数ありますが、使用する前にダウンロードしてインストールする必要があります。これらのほとんどは http://pypi.org で見つけることができます。通常、オンライン インストールまたは必要に応じてオフライン インストールに pip を使用します。
pip command modules
* command:用于指定要执行的命令。常用的有 install、uninstall、list等
* modulename:模块名
例:
pip install numpy
pip list #查看己安装的模块
Python のモジュールについての学習は今日はここまでですが、この後のプロジェクト開発で頻繁に使用するので、必要なときにお話します。