作者: 機械伯爵
日時: 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を参照できるので、これは確実にメソッドとして働いて
いることが証明されました。

 う〜ん、やっぱ言ってみるもんだなぁ・・・

   機械伯爵