見出し画像

Pythonクラスの特殊メソッド

たくさんあって驚いたのでまとめました
82個見つけたんですけど・・・

とりあえずリストアップ

    def __new__(cls): #インスタンス生成時、引数をとれる
    def __init__(self): #初期化、引数をとれる
    def __del__(self): #インスタンス削除時

    #演算系
    def __add__(self,obj): #+使用時に呼び出される
    def __iadd__(self): #+=使用時に呼び出される
    def __radd__(self,obj): #
    def __sub__(self,obj): #-使用時に呼び出される
    def __isub__(self,obj): #-=使用時に呼び出される
    def __rsub__(self,obj): #
    def __mul__(self,obj): #*使用時に呼び出される
    def __imul__(self,obj): #*=使用時に呼び出される
    def __truediv__(self,obj): #/使用時に呼び出される
    def __itruediv__(self,obj): #/=使用時に呼び出される
    def __floordiv__(self,obj): #//使用時に呼び出される(商)
    def __ifloordiv__(self,obj): #//=使用時に呼び出される
    def __mode__(self,obj): #%割り算のあまり
    def __imode__(self,obj): #%=
    def __divmod__(self,obj): #divmod関数で呼び出される
    def __pow__(self,obj): #**累乗の計算
    def __ipow__(self,obj): #**=
    def __lshift__(self,obj): #<=左シフト
    def __ilshift__(self,obj): #<<=左シフト
    def __rshift__(self,obj): #>=右シフト
    def __irshift__(self,obj): #>>=右シフト
    def __and__(self,obj): #&使用時に呼び出される
    def __ianイテレーションd__(self,obj): #&=使用時に呼び出される
    def __or__(self,obj): #|使用時に呼び出される
    def __ior__(self,obj): #|=使用時に呼び出される
    def __xor__(self,obj): #^演算子
    def __ixor__(self,obj): #^=演算子
    def __eq__(self,obj): #==使用時に呼び出される
    def __ne__(self,obj): #!=使用時に呼び出される
    def __lt__(self,obj): #<使用時に呼び出される
    def __le__(self,obj): #<=使用時に呼び出される
    def __gt__(self,obj): #>使用時に呼び出される
    def __ge__(self,obj): #>=使用時に呼び出される
    def __neg__(self): #-符号反転 -減算ではない
    def __pos__(self): #+符号反転をしない操作 +加算ではない
    def __abs__(self): #絶対値の値
    def __round__(self,[n]): #整数値、もしくは少数n桁でまるめて表示する
    def __ceil__(self): #
    def __floor__(self): #
    def __trunc__(self): #
    def __index__(self): #
    def __hash__(self): #hash値をもとめる

    #キャスト系の関数
    def __int__(self):
    def __float__(self):
    def __str__(self):
    def __bool__(self):
    def __complex__(self):

    def __repr__(self):
    def __bytes__(self):
    def __format__(self,form_spec): #format関数から呼ばれたとき
    def __call__(self,args): #インスタンスを呼び出し出きるようにする
    def __len__(self): #len関数から呼ばれたとき
    def __getitem__(self,key):
    def __setitem__(self,key,value):
    def __delitem__(self,key): #辞書の派生クラス向け、eyがないときに呼ばれる
    def __missing__(self,key):
    def __iter__(self): #iter関数から呼ばれたとき:イテレーション
    def __contains__(self,item): #比較演算子 inが使われたときに呼び出される
    def __reversed__(self): #reversed関数から呼ばれたとき:要素を逆順にイテレーションする
    def __getattr__(self,attr): #未定義のアトリビュートが参照される時に呼び出されるメソッド
    def __getattribute__(self,key): #アトリビュートが参照される時に呼び出されるメソッド
    def __setattribute__(self,key):
    def __dir__(self): #dir関数使用時(関数の一覧)
    def __copy__(self): #copy.copy関数から呼ばれたとき
    def __deepcopy__(self): #copy.deepcopy関数から呼ばれたとき
    def __getstate__(self): #
    def __reduce__(): #シリアライズ
    def __reduce_ex__(self): #
    def __getnewargs__(self): #
    def __setstate__(self): #
    def __enter__(self): #withに入るとき
    def __exit__(self): #withから出るとき
    def __slots__(): #
    def __dict__[xx].__get__()
    def __dict__[xx].__set__()
    def __dict__[xx].__delete__()
    def __instancecheck__(self, __instance: Any) -> bool:
    def __subclasscheck__(self, __subclass: type) -> bool:
    def __subclasshock__():    

たぶん82個



この記事が気に入ったらサポートをしてみませんか?