Python|Pythonでモジュールの基本について知ろう!

こんにちは、うしまるです。

今日も一緒にPythonの勉強をしていきましょう!

今回のテーマは、「モジュール」です。

では、さっそくみていきましょう!

モジュールとは?

プログラムの規模が大きくなってくると当然可読性が下がってきます。わりと開発現場で過去に作られたソースを見ると、1ファイルで平気で3万行とかあるソースが多々あったりするわけです。

そんな大きなプログラムのコードを役割ごとにまとめて、1つのお弁当箱セットにすることができます。

それが「モジュール」という機能です。

Pythonでは、あなた自身がモジュールを作ることも当然できますが、機械学習やその他便利な機能を先人の方々が用意してくれていますのでそういったモジュールを、これから作成するプログラムコードに手軽に組み込んだりもできます。

 

モジュールを読み込んでみよう!

モジュールの基本的な使い方

モジュールの基本的な使い方は、使用したいモジュールの名称を指定してインポート(import)することで実現することができます。

import モジュール名

“モジュール名”の部分は読み込みたいモジュールを設定します。

これをプログラムの一番最初にしておくと、そのファイルの中では、モジュールで準備されている関数であったり変数を使用することができます。

モジュールの種類はこちら

モジュールの種類
  1. 組み込みモジュール
  2. 公開されているモジュール
  3. 自分自身で作ったモジュール

では次の章でそれぞれのモジュールについてみていきましょう!

 

1.組み込みモジュール

組み込みモジュールとは、Pythonの中に予め用意されているモジュールになります。

Pythonを導入した環境であれば、特に設定をすることなく使用することができます。

代表的な組み込みモジュール
  1. テキスト処理を行うモジュール(string, re, difflibなど)
  2. バイナリデータを処理するモジュール(struct, codecs)
  3. データ型を処理するモジュール(datetime, calendar, collectionsなど)
  4. 数学に関するモジュール(numbers, mathなど)
  5. 関数型プログラミング用モジュール(itertools, functoolsなど)
  6. ファイルやディレクトリに関するモジュール(pathlib, os.pathなど)
  7. データの永続化に関するモジュール(pickle, copyregなど)
  8. データ圧縮に関するモジュール(zlib, gzipなど)
  9. ファイルフォーマットに関するモジュール(csv, configparserなど)
  10. 暗号化関連のモジュール(hashlib, hmacなど)

などなど、たくさいんのモジュールが用意されています。

需要がありそうでしたらこちらのモジュールについても深堀りしていこうと思います。

 

2.公開されているモジュール

このモジュールはズバリ、他の先人の方々が作成したモジュールを、あなた自身のソースコード上で使えてしまうとてもすてきなものです。

PyPlというところに作成したモジュールを登録することで誰でも、”pip install”とすることで組み込みモジュールと同じように使用することができます。

「Pythonパッケージ」とか「おすすめのライブラリ」とかで調べると色々見つかると思います。

 

3.自分自身で作ったモジュール

モジュールは、自分自身で作成することもできます。

自分専用のモジュールを作成して、プログラム機能の拡張や開発時間の短縮に役立ててください。

自作モジュールの作り方
  1. Python形式のファイルを作成する
  2. 関数や変数を定義して処理を作り込む
  3. ファイルとして保存する
  4. 同じ階層に新しいPython形式のファイルを作成する
  5. 手順4のファイル内にインポートする

こちらも近日中に作り方の記事を作成したいと思います。

 

最後に

今回は、モジュールの基本について解説しました。

上手く使いこなせるとPythonでまずます自由度が増えていきますのでぜひ活用してみてください。

それでは、本日はこのへんでノシ


記事が参考になったり、気に入ってもらえたら
ポチッとしてもらえると励みになります!

にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ Pythonへ にほんブログ村 株ブログ つみたてNISAへ

シェアしてもらえるとうれしいです!

コメントを残す

ABOUT US

usimaru
福岡でWindowsアプリケーション開発のお仕事してます。 お金に縛られない生活を目指して日々学んだことをOUTPUTしていきます。 主なテーマ ◆仕事経験から:AWS/Azure/C++/C#/Python/Ruby ◆資産形成に向けて:つみたてNISA/米国株/日本株/仮想通貨/ソーシャルレンディング ◆好きなこと:旅行/温泉/美味しいもの/布団の中 ◆目標:ブログを毎日更新目指します!