[ TOC]
説明:モジュールはより高度なパッケージであり、モジュールはプログラムです。実際には、Pythonファイルで記述された関数を他のpyファイルにインポートして呼び出すことです。
以前の知識のポイント:
関連する知識のポイント:
モジュールの利点:
(1) 実行をインポートして選択
場合:
# /usr/bin/python3
# 外部モジュール検証をインポートする
## プロジェクト構造
# Day4
# │ demo4.1.py
# │ TemperatureConversion.py
########### ケース1##############
# 方法1:TemperatureConversionをインポートする
# 方法2:TemperatureConversionからimport c2f,f2c #指定されたモジュールをインポートします(名前付けを考慮する必要はありません)
# 方法3:TemperatureConversionインポートから* #この方法はお勧めしません(名前名に混乱を引き起こす可能性があります)
# 方法:TemperatureConversionをインポートします.c2f #指定されたパッケージの指定されたモジュールをインポートします
# 方法4:次のように(多くの場合)
import TemperatureConversion as Temp
print("32℃= %.2f度Fahrenheit"%Temp.c2f(32))print("99度ファーレンハイト= %.2f℃"%Temp.f2c(99))
########### ケース2##############
print(Temp.__name__) #モジュール名が表示されます
############# の結果###############
# 32 摂氏=89.60度ファーレンハイト
# 99 華氏=37.22℃
# TemperatureConversion
# """""""""""""" TemperatureConversion.py """"""""""""""" #
def c2f(cel):'''セルシウスからファーレンハイト'''
fah = cel *1.8+32return fah
def f2c(fah):'''ファーレンハイトからセルシウスへ'''
cel =(fah -32)/1.8return cel
def test():print("テスト0C= 0.2f F",c2f(0))print("テスト0F= 0.2f C",c2f(0))
# 実行するかモジュールにインポートするかをPythonに知らせます
if __name__ =='__main__': #独自のモジュールファイルでのみテストを実行します()print("__name__モジュール名はメインプログラムに表示されます,定義宣言ファイルで実行する場合は、メインを表示します: ",__name__) #このプログラムではTemperatureConversion.pyで示されているのはメインです(メインプログラムの呼び出しは引き続きモジュール名です)test()
(2) 検索パスとパッケージ
上記の場合、モジュールとメインの実行可能ファイルは同じディレクトリにありますが、実際の開発では、他のファイルサブディレクトリにあることがよくあります。
>>> import sys
>>> sys.path
['',' D:\\Python3\\python37.zip','D:\\Python3\\DLLs','D:\\Python3\\lib','D:\\Python3','C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python37\\site-packages','D:\\Python3\\lib\\site-packages'(おすすめ),'D:\\Python3\\lib\\site-packages\\easygui-0.98.1-py3.7.egg'] #モジュールをインポートする場合,Pythonは、上記のパスでモジュール情報を照会およびインポートします
# sysを使用できます.path.append()それへの道に参加する
パッケージを作成する手順:
場合:
#! /usr/bin/python3
# モジュール:ケースパッケージインポートモジュールメインプログラム
## プロジェクト構造
# │ demo4.2.py
# ├─Demo
# │ │ Module.py
# │ │ __init__.py
from Demo.Module import success #指定されたデモパッケージの下でモジュールを見つけ、モジュール内の関数をインポートします(直接呼び出すことができます)success() #直接電話
########## の結果##############
# 親愛な,モジュール内の関数をパッケージからメインプログラムに正常にインポートしました,Yes!
#""""""""""""""" Demo\Module.py """"""""""""""#
#! /usr/bin/python
# 特徴:モジュールテストプログラム
def success():print("親愛な,モジュール内の関数をパッケージからメインプログラムに正常にインポートしました,Yes!")
(2) 補足事項
説明:Python標準ライブラリには、一般的に使用されるモジュールがいくつか付属していますが、一部の高レベルの使用法では、公式Webサイトのドキュメントを照会する必要があります。
Python IDLE - Help - Python Doc(F1を押すことができます)
https://docs.python.org/3.7/
# 独自のモジュールを公開するpypiモジュール
Distributing Python Modules :publishing modules for installation by others
# 拡張と埋め込みc/c++
Extending and Embedding :tutorial for C/C++ programmers
# APIインターフェースの使用
Python/C API : reference for C/C++ programmers
# 補足:
PEPはPythonEnhancementProposalsの略語です(Python拡張提案の意味,Pythonのさまざまな拡張機能と派生関数を標準化および定義するために使用される技術仕様は、開発者が一緒に従うための基礎です。),
モジュールを学ぶための重要な方法:
>>> import time
>>> dir(time)>>>help(time)
# モジュールをインポートするときは*数,実在する__all__この場合、以下のモジュールのみがインポートされます
>>> timeit.__all__
[' Timer','timeit','repeat','default_timer']>>> timeit.__file__ #モジュールソースコードファイル
' D:\\Python3\\lib\\timeit.py'>>> timeit.__doc__ #表示ヘルプは、印刷で出力をフォーマットできます
Recommended Posts