jon*_*omo 3 python dynamic-function
假设我有一个包含字符串“ unpredictable_words”的文件。我想读这个字符串,然后定义一个函数,如下所示:
def test_unpredictable_words(self):
do_important_stuff()
Run Code Online (Sandbox Code Playgroud)
然后,我想将此函数注入到类定义中,以便可以在此类的任何实例上调用此函数。
我该怎么做?
我稍微看了一下这个答案-https: //stackoverflow.com/a/8160676/1701170-但我认为它并不能满足我的要求,或者至少我无法理解正在发生的事情。
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
>>> def injected(self):
... print 'injected'
...
>>> class A(object):
... pass
...
>>> A.injected = injected
>>> a = A()
>>> a.injected()
injected
>>> def func2(self):
... print 'func2'
...
>>> setattr(A, 'injected2', func2)
>>> a.injected2()
func2
>>>
Run Code Online (Sandbox Code Playgroud)