定義

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__よりも優先して使われる。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-04-09 (日) 21:28:04 (2574d)