【Python5】pythonの文法④<モジュール編>

それでは下記の記事の続きをやっていこう!
前回までは<関数編>ということで基本的な関数について体系的まとめました。

今回は<モジュール編>になります。一緒に勉強していこう🤓

import

✔️別の.pyで定義したモジュールを呼び出して使うことが出来る
✔️fromを付けることでモジュールを直接的に呼び出すことが出来る
✔️.pyの名前をimportしasで定義することで、後ろにモジュールを指定して呼び出すことがきる
✔️関数名に_(アンダースコア)を付けることで、呼び出し不可を明示
✔️importは.pyの先頭に記述(標準ライブラリ⇨サードパーティのライブラリ⇨自作のライブラリ⇨ローカルのライブラリの順で書く)
✔️別のスクリプトをimportした場合、そのスクリプトの内容をメモリに書き込むために一度実行される

sysモジュール

✔️sysモジュールをインポートし、自身が呼び出したい関数があるpathを記述

Third party libraires & pip

✔️ライブラリ: 複数のパッケージをまとめてインストール可能にしたもの
✔️pyPI(The python Package Index): pythonのサードパーティライブラリやパッケージを管理しているレポジトリ
✔️pyPIから様々なライブラリをインストールすることが可能

✔️pip: pythonのパッケージ管理システム
✔️pyPIからパッケージをダウンロード&インストールすることが出来る
✔️pythonの標準ライブラリとして入っている

✔️サードパーティライブラリであるnumpyを呼び出す時は一般的に”as np”とする

built in module(re: 正規表現RegEx)

✔️pythonが標準で組み込まれているモジュールのこと(pyhon Mudule Indexで適宜確認する)

metahcaracterの使い方

✔️条件を表す記号のことをmetacharacterという

input()で入力した生年月日(yyyy/mm/dd)のフォーマットが正しい形式になっているかcheck
input()で入力したemailアドレス(my_email.address@gmail.com)のフォーマットが正しい形式になっているかcheck

built in module(time)

✔️timeモジュールを使うことで、プログラムの実行にかかった時間を計測することが出来る

フィボナッチ数列を.time()モジュールを使って計測する例
.ctime(), .localtime(), .sleep()の用法

✔️.sleepを使うことでコードを一時的に止めることが出来る

timeモジュールを使って関数の処理時間を計測するタイマーを作る

✔️デコレータを使うことで関数処理計測のタイマーを作る

built in function

✔️インポートしなくてもPythonの標準に入っているfunctionのこと(built in functionは公式ドキュメントで確認)

dir()

✔️dir():このスクリプトがどんなメソッドにアクセス出来るのかを表示
✔️__builtins__に様々なfunctionが定義されている

__name__と__main__

✔️別のスクリプトでimportされた時、実行されたくないコードはif __name__ == “__main__”:内に書く

パッケージ(package)

✔️複数のpythonモジュールをディレクトリにまとめたもの
✔️.(ドット)を通すことで、モジュールにアクセスし、メソッドを呼び出すことが出来る
✔️ディレクトリに___init__.pyというファイルを作成し定義することで、そのディレクトリがパッケージとして認識される
✔️__init__.pyがないと『名前空間パッケージ』として認識される(Python3.3~)
 (名前空間:下記の例でmodule1にmyfuncという関数が定義されていた場合、myfancはpackage.module1.myfunc(という名前空間)に属すると言える)
✔️特に理由がなければ__init__.pyを作成し通常のパッケージとするのが一般的

__init__.py

✔️__init__.pyには初期化用コードを記述する(import時に実行される)
✔️__init__.pyにimport文を記述することで別のスクリプトで呼び出す時、モジュール名をスキップしてpackage.の後に関数やクラスにアクセスできる
✔️__init__.pyに__all__を定義することで、そのパッケージが”import*”で呼び出されると、全ての関数、クラスが定義される

相対import(realtive import)

✔️『.』: カレントディレクトリ、『..』: 親ディレクトリ
✔️from .<package/module> import XXX
✔️relative import の場合は、import <>ではなくfrom <> import<>の形をとる

これでpythonの文法<モジュール編>は終了です、いかがだったでしょうか?
これだけのボリュームがあるので、「pythonの文法なんて全部わかってるよっ」って方も、初めて知ったことや新しい発見があったんじゃないかなと思います。
コードを自分で書くには今回の内容はある程度頭に入れておきたいところですよね😎

次回は<オブジェクト指向編>についてまとめていきたいと思います☀️

今回はこの辺で、ばいばい👋