わからんリスト
わからんことはここに書く
- クラス変数の参照
>>> class SuperHoge(object): ... str = 'hoge' ... def print1(self): ... print self.str ... def print2(self): ... print SuperHoge.str ... >>> class Hoge(SuperHoge): ... def setStr1(self, str): ... self.str = str#インスタンス変数が生成 ... def setStr2(self, str): ... Hoge.str = str#Hogeのクラス変数が生成 ... >>> hoge = Hoge() >>> hoge.setStr1('instance') >>> hoge.print1() instance >>> hoge.print2() hoge >>> fuga = Hoge() >>> fuga.setStr2('fugafuga') >>> fuga.print1() fugafuga >>> fuga.print2() moge >>> Hoge.__dict__.items() [('__module__', '__main__'), ('setStr1', <function setStr1 at 0x684365a4>), ('setStr2', <function setStr2 at 0x684365dc>), ('str', 'fugafuga'), ('__doc__', None)]
親クラスでクラス変数を参照するときはselfで、子クラスで修正とかするときは子クラス名?どー考えてもおかしい!