Python のクラスってなに?







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







本当にこの通りで、クラスとは、単純にクラス変数とメソッドの集まりです。 これ以上でもなければ、これ以下でもありません。





この記事は
「クラスとはなにか」ではなく、 「クラスがどんな構造をしているのか」と「クラスがどんな仕組みになっているのか」について、 ご説明させていただいております。

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

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

また、頑張って書いては見ましたが、クラスは設計書でインタンスは実体です、 と言った「オブジェクト指向の考え方」については取り扱わないため、Python の初学者の方には、とっかかりづらいかと思います。

でも、ここに書かれていることがわからなくても、アプリを作ったりするときには全然問題にならないので安心してください。 ここに書かれていることは Python を触っているうちに自然と分かるようになることばかりなので、しばらく置いておいてください。

class を使ったオブジェクトの具体的な「考え方」や「使い方」を知りたいという方は、 霧島京子先生に教えてもらうといいかもしれません。

f:id:domodomodomo:20181220175826p:plain

Python入門編8: クラスを理解しよう - Paiza



この記事には
表記の揺れがあります。公式マニュアルの中でクラス 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'



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