Python3.0 Hack斜め読み中

 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() の主な用途が、JavaRubyのsuperと同じく 
class の中で親クラスのメソッドを呼び出すものであり、
毎回 super(ThisClass, self) を書くのは DRY 原則に反するからである。