>>151
いや、自分はまだJavaから来たばかりで、たしかに Python よく分ってないかも
しれないけど、そういう話とは違うと思うけどな…。

Javaでは コンストラクタとフィールドの設定が分かれているけど、
Python では __init__ とフィールドの設定がくっついているでしょ。

Java のような感じでやれないと、
親クラスを作る時点でインスタンスのフィールドを、
(これからどんなサブクラスが作られるのかも分らないのに)
将来作るかもしれないサブクラスの分もすべて予測して
設定しておかないといけないような、という話で。
(Javaはあとで拡張できる。Python、無理っぽい。
 __init__ の中でフィールド設定しておかないと、
 setメソッドの前にgetメソッドされると、エラー出てしまうし)

それができないと、将来それが必要になったとき、
あとから親クラスを直さないといけなくなる。

どんな場合でも、目の前の10行前後を直すだけで対応できるように
プログラムする、というのがオブジェクト指向の目標である以上
(そううまくいくもんじゃないけど)、それはやっぱりまずいだろうなと。

どうもサブクラスで __init__ を
オーバーライドしちゃうと、サブクラスがサブクラスでない
ことになって、親クラスのメソッドを使えなくなるみたいなんだよね。

ただ、もう少し検証しないと、断定はできないけど。