作者: 機械伯爵 | |
日時: 2002/4/6(01:16) |
> 変わりに、以下のようにやると同じことができます。 > >>> class a: > ... def x(self): > ... print "x" > ... > >>> n = a() > >>> n.x() > >>> > >>> def y(self): print "y" > ... > >>> a.__dict__['y'] = y > >>> > >>> n.y() これ、抜け穴ですね(ををっ、Pythonでもメソッドが追加できる!) これをすると、オブジェクト自身への参照ができるかどうか不安だった のですが、実験してみたらできました。 >>> class A: ... x = 0 ... >>> def y(self): ... return self.x ... >>> a = A() >>> A.__dict__['y']=y >>> a.y() 0 >>> a.y()で、a.xを参照できるので、これは確実にメソッドとして働いて いることが証明されました。 う〜ん、やっぱ言ってみるもんだなぁ・・・ 機械伯爵