3.0移行はまだ先だろうが、Pythonを知るには面白いと思い、一日一つを斜め読み中。
次のページのコードを、Python2.6で実行したところsuper()の仕様が変わっていたため動作しなかった。
・・・ super().__init__(shape='circle') TypeError: super() takes at least 1 argument (0 given)
こちらのページをみて、ちょっと修正。super()を、super(Joystick,self)、super(Cart,self)のように修正したらうごいた。
Python 3.0 からは、super() の引数が省略できるようになっている。 これは、 super() の主な用途が、JavaやRubyのsuperと同じく class の中で親クラスのメソッドを呼び出すものであり、 毎回 super(ThisClass, self) を書くのは DRY 原則に反するからである。