Python のクラスってなに?



インスタンスに共通する
値(クラス変数)や処理(メソッド)の集まり







本当にこの通り、クラスは、単純にクラス変数とメソッドの集まりです。 初めて Python を習った人には、この説明で十分だと思います。

ただ、クラスが「どんな動作をするのか」と「どんな構造をしているのか」については、 いくらか説明させていただいても、よいかなと感じております。




この記事は
Python のクラスが「どんな動作をするのか」と「どんな構造をしているのか」について取り扱います。

この記事は
次の3つの記事から構成されていて
1. Python のクラスオブジェクトインスタンスオブジェクトって何?
2. Python のクラス変数インスタンス変数って何?
3. Python の関数メソッドの違いって何?

この記事は
Python の基本的な文法を一通り学習し終えた人のための記事です。なるべく、頑張って書いては見ましたが Python の初学者の方には、「お前は一体何を言っているんだ?」みたいな気分になってしまう可能性が高いです。

この記事は
Python の初学者の方のためのものではないので、「クラスは設計書でインタンスは実体です、と言ったとブジェクト指向の概念」、「どうやってオブジェクト指向でプログラミングするのかと言った How to」あるいは、「手続き型言語と比べたオブジェクト指向言語のメリット、デメリット」といったことについては取り扱いません。

この記事には
表記の揺れがあります。公式マニュアルの中でクラス class, 型 type という言葉が出てきます。 別のものを指しているのかなと思ったのですが、2つとも同じものを指しています。 Python 2 では組込型を type 型、ユーザ定義クラスを class クラス と呼び区別していました。 Python 3 では完全に統合されました。 この文章の中でも表記が揺れてしまっています。どうか、ご容赦ください。

>>> # Python 2
>>> C
<class __main__.C at 0x10ad70a78>
>>> int
<type 'int'>
>>> 
>>> # Python 3
>>> C
<class '__main__.C'>
>>> int
<class 'int'>
>>> 

Unifying types and classes in Python 2.2
Python : terminology 'class' VS 'type'



では、早速、はじめて行きたいと思います。