プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Python
  • 【Python】モジュール、自作モジュール、パッケージ、ライブラリ
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Python】モジュール、自作モジュール、パッケージ、ライブラリ

06.26

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

モジュール(module)とは?

複数ファイルにプログラムを分ける際に使える機能です。

1つのファイルを1つのモジュールとして使えて、別ファイルで定義されている関数を呼び出すことができます。

構文

モジュールを取り込む

1
2
import (モジュール名)
import (モジュール名) as 別名

コード内で短く書けるようにモジュール名の略称を別名で記述することが多いです。

取り込んだモジュールを使う。(クラス、関数、変数の呼び出し方)

1
2
3
モジュール名.クラス名
モジュール名.関数名()
モジュール名.変数名
モジュールの階層が深いとき

以下のように階層の記述だけはしてしまうのがベターです。(ソース内に階層が至る所に記述してあると読みづらいですしね。)

1
2
from xxx.yyy import zzz
zzz.関数名()

importしなくても使える組み込み関数

Pythonでは、「print()」や、「str()」等、importしなくても使うことができた関数があったかと思います。

そうした関数を「組み込み関数」と呼びます。

標準モジュール

また、モジュールはいちいち自作しなくても、最初からいくつかの「標準モジュール」という形でモジュールが提供されています。

下記のPythonドキュメントにて、Pythonの標準モジュールを検索することができます。

https://docs.python.jp/3/py-modindex.html

様々なモジュール

モジュール名説明
re正規表現を扱える。
random乱数を生成できる。
datetime日時処理関するモジュール
jsonJSON形式のデータを読み取る。

自作モジュール

モジュールを自作する場合は必須の概念になります。

test2.py(今回作成したいモジュール)

1
2
3
4
5
6
def func2():
    print("func2です。")
 
def func3():
    print("func3です。")
func3()

これを普通に呼び出すと関数func3だけが実行されます。

test.py(モジュールを呼び出す側)

1
2
3
4
5
# これを呼び出すとtest2モジュールの内容が全て実行される。
import test2
 
test2.func2()
 

これを実行すると実行結果は、以下のようになります。

理由としてはモジュールをインポートしたタイミングでモジュールの内容がすべて実行される仕様になっているためです。

なので作成したモジュール側は以下のようにしてあげる必要があります。

1
2
3
4
5
6
7
8
9
10
11
def func2():
    print("func2です。")
 
 
def func3():
    print("func3です。")
 
 
if __name__ == "__main__":
    func3()
 

こうすることで他のPythonファイルからこのファイルをインポートしたときにif文の外のコードが自動で実行されてしまうことを防止することができます。

パッケージとは?

Pythonで、複数のモジュールを組み合わせたものを、パッケージと呼びます。モジュール(ファイル)をまとめたフォルダのようなイメージ(というか実態)です。

PyPI

Pythonのパッケージが多数登録されているパッケージリポジトリです。

下記のサイトで、PyPIにどんなパッケージがあるか検索することができます。

https://pypi.org/

パッケージ管理ツール「pip(ピップまたは、パイプと読みます。)」

「PyPI」に登録されているパッケージは、パッケージ管理ツールの「pip」を使うことで、手軽に使うことができます。

なお、Pythonのバージョン3.4以上であればインストーラーにデフォルトで入っています。

pipでパッケージをインストールする。

1
pip install (パッケージ名)

様々なパッケージ

パッケージ名説明
qrcodeQRコードを生成する。
pycrypto暗号化ライブラリ

ライブラリ

複数のパッケージをひとまとめにした物のことです。

スポンサーリンク
  • 2023 06.26
  • miyabisan2
  • コメントを書く
  • Python
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2023 06.17

    【Python】日時関連

  2. 2023 05.26

    【Python】主流のスクレピングライブラリ

  3. 2023 06.12

    【Python】pyinstallerでPythonのコードをexe化する。

  4. 2023 05.30

    【Python】Anacondaの使い方メモ

  5. 2023 07.08

    【Python】シングルトンの実装

  6. 2023 05.30

    【Python】VSCodeで環境構築

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Python】PySimpleGUIについて

【Python】シングルトンの実装

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー