首先先建立一個 class:
class foo:
def say(self, s):
print 'Hello, %s' % (s)
f = foo()
f.say('Bob')
這樣會印出 'Hello, Bob'。
如果想把裡面的 say 換成自己定義的 function,可以先定義該 function:
def helloworld(self, s):
print 'Hello World %s' % (s)
然後再用 new.instancemethod 把它給換掉:
import new
f.say = new.instancemethod(helloworld, f, foo)
f.say('Alice')
這樣就會印出 'Hello Wolrd, Alice' 囉
2008年6月18日 星期三
動態改變 instance 的 member function
訂閱:
文章 (Atom)