クラス変数とインスタンス変数
間違いやすいPythonのクラス変数とインスタンス変数 - 北海道苫小牧市出身の初老PGが書くブログ
確かに間違えやすい。というか混乱してきたw
クラス間で共有しない変数ならself.hogeみたいな代入がいいってことなのかな。でもinitでself.hogeしてるならインスタンスになると思うのだが。
>>> class Test: # クラス変数 ... hoge = 100 ... def __init__(self): # インスタンス変数 ... self.hoge = 200 ... ... ... >>> Test() <__main__.Test instance at 0x976306c> >>> a = Test() >>> a.hoge 200 >>> Test.hoge 100 >>> a.__dict__ {'hoge': 200} >>> Test.__dict__ {'__module__': '__main__', '__doc__': None, '__init__': <function __init__ at 0x 978795c>, 'hoge': 100}