序文
前回の記事Python学習【ディープコピー】ではPythonの深いコピー学習内容と浅いコピー学習内容について学びましたが、この記事では引き続き学習していきます。Pythonのモジュール。
モジュールとは何ですか
Pythonではファイル(拡張子「.py」が付いたファイル)をモジュールと呼び、Pythonでは各モジュールを独立したファイルとして扱います。
モジュールは、プロジェクト内の他のモジュール、一部のスクリプト、さらには対話型パーサーによって使用できます。モジュールは、他のプログラムから参照して、モジュール内の関数やその他の関数を使用できます。この方法は、Python の標準ライブラリを使用する場合にも使用されます。
Python の一般的なシステム組み込みモジュールは次のとおりです。
os モジュール: os モジュールには一般的なオペレーティング システム関数が含まれています
sys モジュール: Python オペレーティング環境に関連する一連の変数と関数を提供します
Random モジュール: Random モジュールは乱数の生成に使用されます
time モジュール: 主に含まれています日付と時刻の関数を提供するさまざまなクラスと関数
datetime モジュール: 時刻モジュールの高度なカプセル化
shutil モジュール: 高レベルのファイル操作ツール
ロギング モジュール: 標準出力にログを出力します
re モジュール: 目的を達成するために直接呼び出すことができます通常のマッチング
pymysql モジュール: データベースに接続し、簡単な追加、削除、変更、およびクエリ スレッドを実装しますモジュール: より強力なマルチスレッド管理ソリューションを提供します
キュー モジュール: マルチプロデューサー、マルチコンシューマー キューを実装しますjson モジュール: 変換に使用されます文字列とデータ型の間の json
モジュールのインポート
Python でモジュールをインポートする方法は次のとおりです。
import 模块名称 [as别名]
from 模块名称 import 函数/变量/类
例えば:
インポートモジュール名 [エイリアスとして]
# 例子1 导入数学运算模块 math
import math
print(math,id(math),type(math))
print(math.pi) #返回一个浮点数 3.141592653589793,表示圆周率。
print('------------------进行math模块中相关函数的使用-----------/')
print(dir(math))
print('pow()函数的使用',math.pow(2,3),type(math.pow(2,3))) #2的3次方
print('向上取整',math.ceil(3.00001)) #向上取整 4
print('向下取整',math.floor(3.99999)) #向下取整3
モジュール名からインポート関数/変数/クラス
# 只引入math模块中的pi
from math import pi
print(pi) #3.141592653589793
このメソッドを使用してモジュールを導入するときは、モジュールに pi 定数をインポートしていることに注意する必要があります。この時点で数学モジュールに他の関数を導入すると、プログラムはエラーを報告します。
from math import pi
# 尝试引入pow()函数
print(pow(2,3),type(pow(2,3))) #8 <class 'int'>
インポートされていない数学関数を導入しようとすると、戻り値も存在することがわかりますが、ここでの pow() 関数は数学モジュール内の関数ではなく、その出力タイプは int です。 math モジュールでは pow の代わりに type 関数の出力型は float であるため、戻り値は表示されますが、math モジュールでは pow() 関数は呼び出されません。
カスタムモジュール
Python のモジュールが何であるかを理解したら、モジュールをカスタマイズできます。
カスタム モジュールは、Python ファイルに簡潔で意味のあるファイル名を付けます。
定义了一个cal模块
def add(a,b):
return a+b
def div(a,b):
return a/b
次に、カスタム モジュールをインポートします。
# 引入新建的cal模块
import cal
print(cal.add(10,30))
print(cal.div(10,20))
# 只导入cal模块中的add函数
from cal import add
print(add(10,20))
メインプログラムを実行する
在每个模块的定义中都包括一个模块名称的变量 __name__ ,变量的值是__main__。
プログラムはこの変数を調べて、どのモジュールで実行されているかを判断できます。モジュールが別のプログラムにインポートされていない場合は、インタープリタの最上位モジュールで実行されている可能性があります。
モジュール cal2 をカスタマイズします
。index1.py にインポートします
。index1 のファイルを実行すると、操作の結果、cal2 も実行されることがわかります。これは、cal2 がindex1 によってインポートされた後に実行されることを意味します。インデックス 1 も実行するとき、実行するプログラムを指定したい場合はどうすればよいでしょうか?
これには、cal2 モジュールにコードを実行するメイン プログラムを追加する必要があります。
def add(a,b):
return a+b
# 直接运行导入cal2的指定文件 只有点击运行cal2这个文件时才能运行如下语句
if __name__ =='__main__':
print(add(10,30))
これにより、モジュールがインポートされた後に新しいファイルと同時に実行されることがなくなります。
1記事につき1文
学習は生涯にわたる能力です。
不備がある場合は、修正していただきありがとうございます。