Pythonでのクラスの作り方

2021/01/21PythonPythonの基本

記事内に広告が含まれています。

PythonはJavaやC++などとオブジェクト指向型言語と同様にClass(クラス)を定義して使うことができます。

この記事ではPythonでのClass(クラス)定義からインスタンス化(実態化)までを解説します。

Pythonでのクラスの作り方

PythonでもJavaやC++と同様にClass(クラス)を生成することができます。

クラスには振舞いを表現するメソッド属性を管理するインスタンス変数を持つことができます。

PythonでのClass(クラス)宣言

PythonでClass(クラス)を宣言するにはclass文を使って行います。

class クラス名() :

クラス名は大文字、小文字が区別されます。

また、宣言の最後は「:(コロン)」をつけて終了します。

メソッドの定義

PythonのClass(クラス)内に振舞いを表現するメソッドを持つには、通常の関数と同様に「def文」でメソッドを定義します。

クラス内の通常のメソッドには必ず第1引数にインスタンス自身の実態を引数に取ります。

また、宣言の最後は「:(コロン)」をつけて終了します。

class MyClass() :
    def myMethod( self ) :
        pass

(一般的には第1引数のインスタンス自身の実態は「self」という名前で宣言されることが多くなっています。)

インスタンス変数の定義

PythonのClass(クラス)内に属性を管理するインスタンス変数を持つには、コンストラクタでインスタンス自身の実態(self)に設定します。

class MyClass() :
    def __init__( self ) :
        self.myVariable = 10

クラスのインスタンス化

Pythonのクラスをインスタンス化するにはクラス名に「()」をつけてインスタンスを変数に保存します。

class MyClass() :
    def myMethod( self ) :
        pass

#クラスMyClassをインスタンス化する
cl = MyClass()
print( type( cl ))
print( cl.myVariable )

上記のコードの実行結果は

<class '__main__.MyClass'>
10

となり、クラス「MyClass」がインスタンス化されていることがわかります。

システムトラストでは一緒に働いていただける仲間を募集中です。
株式会社システムトラスト

システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。

お問合せ