python
1# -*- coding: utf-8 -*- 2 3class TestExtends(list): 4 5 def __init__(self): 6 list.__init__(self) 7 8 def append(self,value): 9 list.append(self,value) 10 print u"値が追加されました:" + str(value) 11 12 13if __name__ == "__main__": 14 15 test = TestExtends() 16 test.append("python") 17 test.append("-") 18 test.append("izm") 19 20 print "===============" 21 22 for i in test: 23 print i 24
上記のコードのコンストラクタ内でスーパークラスの初期化メソッドを呼び出す理由がわからないです。
例えば自分で独自につくったクラスならコンストラクタ内でなにか定義しているので初期化メソッドを呼び出してそれを使えるようにする、というのはわかりますが、list型の初期化メソッドを呼び出して何があるのですか?
そして、このlist.append(self, value)というのがよくわからないです。
listクラスのappend()メソッドを呼び出して何になるのでしょうか、、、そもそもlist型を継承しているのだからself.append()でもいいんじゃ...
と思うのですが、動かないのでダメなんですよね。いったい何が起こっているか教えて下さい。お願いします
参照させてもらったwebサイト様
http://www.python-izm.com/contents/application/class_extend.shtml
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。