定義 †
class [クラス名](object):
# クラス定数
_CONST_VAR = ...
# コンストラクタ
def __init__(self, 引数...):
:
# メソッド
def [メソッド名](self, 引数...):
:
hoge = self._CONST_VAR ... クラス定数にアクセスするときは self. でアクセス
属性の命名規則 †
- ._attr のように、属性名がアンダースコア1つで始まる場合、慣習としてその属性にはclass文の外からアクセスしない
- .__attr__ のように、属性名がアンダースコア2つで始まり、同じくアンダースコア2つで終わる場合、その属性は特殊メソッドとなる
- .__attr のように、属性名がアンダースコア2つで始まり、アンダースコア2つで終わらない場合、その属性は難号化され、外からアクセスできないようになる
特殊メソッド †
メソッド | 説明 |
__init__ | インスタンスの初期化時に呼び出される |
__add__ | インスタンスに対する算術演算を可能にする |
__sub__ | インスタンスに対する算術演算を可能にする |
__mul__ | インスタンスに対する算術演算を可能にする |
__div__ | インスタンスに対する算術演算を可能にする |
__nonzero__ | 真偽値に対するメソッドを定義 |
__call__ | 呼び出し可能にする(関数のように使える) |
__len__ | __nonzero__ メソッドが未定義のときに呼び出される |
__getitem__ | |
__setitem__ | |
__delitem__ | |
__iter__ | |
__contains__ | 定義すると in や not in によるメンバシップテストが行えるようになる。__getitem__よりも優先して使われる。 |