Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python3で学ぶコード再利用とモジュール化の基本


オブジェクト指向プログラミング(OOP)とは?

OOP(Object-Oriented Programming、オブジェクト指向パラダイム)は、プログラミング手法の中核をなす重要な考え方です。ポリモーフィズム(多態性)、カプセル化、データ隠蔽、データ抽象化、継承、モジュール性など、数多くの概念が含まれています。

OOPではデータが最優先され、そのデータに関連付けられた関数を通じてインターフェースが提供されます。オブジェクトは自己完結型の実体であり、必要な変数とそれに関連する関数をすべて内包しています。オブジェクトが持つ特性(変数)や機能(メソッド)は総称して「属性」と呼ばれます。

モジュール性とは?

モジュール性とは、コードを複数のモジュールに分割し、それぞれを個別に構築した後、リンクさせて最終的にひとつの完全なプロジェクトとして組み合わせる手法のことです。モジュール化によってコードの再利用性が確保され、記述の重複を最小限に抑えることができます。

Pythonにおけるモジュールとは、Pythonの定義やステートメントを含むファイルのことです。モジュール名は、ファイル名から拡張子「.py」を取り除いたものになります。たとえばファイル名がprime.pyであれば、モジュール名はprimeとなります。

サンプルコード

実際にモジュールを作成してみましょう。以下のコードをprime.pyというファイル名で保存します。このモジュールには、素数判定を行う関数が定義されています。

def isPrimenot(n):
    # 素数判定の処理
    if n <= 1:
        print("False")
        return
    if n <= 3:
        print("True")
        return
    if n % 2 == 0 or n % 3 == 0:
        print("False")
        return
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            print("False")
            return
        i = i + 6
    print("True")

コマンドラインでの実行

作成したモジュールをインポートすると、次のように動作します。

>>> import prime
>>> prime.isPrimenot(3)
True
>>> prime.isPrimenot(8)
False

また、モジュール内の関数にローカル名を割り当てて使用することもできます。

>>> import prime
>>> p = prime.isPrimenot
>>> p(8)
False

さらに、複数のモジュールを同時にインポートし、それらを組み合わせて利用することも可能です。

>>> import prime
>>> import math
>>> p = prime.isPrimenot
>>> p(math.pow(2, 8))
False

このように、一度書いたコードを何度も書き直すことなく、さまざまな場所で使い回せるようになります。モジュール化はコードの再利用性を高め、依存関係を最小限に抑える強力な仕組みといえます。

モジュールの再読み込み(reload)

補足として、各モジュールはインタープリターの1セッション中に1回だけインポートされる点に注意しましょう。モジュールの内容を変更した場合や再度読み込みたい場合は、通常インタープリターを再起動する必要があります。

ただし、Python 3ではimportlibモジュールのreload関数を使えば、再起動せずに手動で再読み込みを行うことも可能です。

>>> from importlib import reload
>>> reload(prime)

まとめ

本記事では、Python 3.xにおけるコードの再利用性とモジュール化の概念について解説しました。モジュールを適切に活用することで、重複のない保守性の高い効率的なプログラムを構築できるようになります。

  1. Pythonインタープリターとは?仕組みと初心者向けオンライン環境を徹底解説

    Pythonは学びやすいプログラミング言語として知られています。その理由のひとつが、自分のマシンに正しいバージョンのPythonをインストールしなくても、オンラインで利用できるPythonインタープリターが数多く存在する点です。本記事では、Pythonインタープリターの仕組みについて解説し、初心者にも使いやすい人気のオンラインインタープリターをご紹介します。 Pythonプログラムはどのように実行されるのか? PythonはJavaと同様に、純粋なインタプリタ言語ともコンパイラ言語とも分類できず、両方の性質を併せ持っています。 ここでいう「コンパイル」とは、特定のプラットフォームに依存し

  2. Pythonパッケージの作成からPyPI公開まで完全ガイド|pip・setup.py・twineの使い方

    Pythonには、自作コードをパッケージとして作成・公開するための非常にシンプルな仕組みが用意されています。この記事では、Pythonコードをパッケージ化し、PyPI(Python Package Index)で公開するまでの一連の手順を、初心者にもわかりやすく解説します。Pythonのパッケージ管理ツールPythonのパッケージ管理は、主に以下のツールによって行われます。pip:最も広く使われているパッケージ管理ツールです。OSへの手動インストールや更新作業をほぼ不要にし、パッケージとそのバージョン番号のリストを管理することで、別環境への正確な再現(複製)を可能にします。Python Pac