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'



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