PROGRAM PYTHON

初心者のためのPython超入門【第14回 クラス】

 

 

はてな

クラスとは何でしょうか?

もっと詳しく

Pythonでは、数値型や文字型などのような型のことをクラスといいます
クラスは処理とデータを定義した設計図のような役割を持っていて、クラスを使うためにはクラスを実体化させる必要があります。
そして、クラスを実体化したものをインスタンスといいます。

メモ

よく使われるたとえは、クラスが「たい焼きの金型」で、インスタンスは「たい焼き」です。

 

クラスの使い方

 

クラスを作成する

クラスを作成するには、classキーワードを使います。

class クラス名:
処理

もっとも簡単なクラスは、以下のようになります。
処理にpass文を書くことで、何もしないクラスが作成されます。

メモ

クラス名の先頭は慣習的に大文字で始めます。

 

インスタンスを生成する

クラスを使うためにクラスを実体化させます。
クラスを実体化させることを、インスタンスを生成するといいます。
インスタンスを生成するには、以下のようにします。

インスタンス名 = クラス名()

 

変数を定義する

クラス内で使う変数には、クラス変数インスタンス変数の2種類があります。
クラス変数はクラスを定義した段階で値が設定されるのに対して、インスタンス変数はインスタンスを生成した段階で値が設定されます。

 

クラス変数を定義する

クラス変数の定義は、以下のようになります。

class クラス名:
クラス変数名 =

クラス変数を参照するには、以下のようにします。

インスタンス名.クラス変数名

クラス変数は、インスタンス生成後に変更することができます。

インスタンス名.クラス変数名 =

クラス変数を使ったPythonスクリプトは、以下のようになります。

 実行例
> python class2.py
100
200
300

 

インスタンス変数を定義する

インスタンス変数を定義するには、初期化メソッド「__init__()」を使います。
インスタンス変数の定義は、以下のようになります。

メモ

初期化メソッドのことを、コンストラクター(constructor)ともいいます。

class クラス名:
def __init__(self, 引数2, 引数3, ):
self.インスタンス変数名1 = 引数2
self.インスタンス変数名2 = 引数3

インスタンス変数を使ったPythonスクリプトは、以下のようになります。
インスタンスを生成する時に、インスタンス変数の値を引数に渡しています。

 実行例
> python class3.py
10
20

 

メソッドを定義する

メソッドはクラス内で定義する関数です。
メソッドを定義するには、以下のようにします。

class クラス名:
def メソッド名(self, 引数2, 引数3, ):
処理

メソッドを使ったPythonスクリプトは、以下のようになります。

 実行例
> python class4.py
6000

 

 

-PROGRAM, PYTHON