Pythonでのクラスの作り方
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」がインスタンス化されていることがわかります。
リンク