应该很容易,但不知怎么的我不明白。我想应用一个给定的函数。后台是复制一个类并在新创建的副本上应用给定的方法。在
主要编辑。很抱歉。
import copy
class A:
def foo(self,funcName):
print 'foo'
funcName()
def Bar(self):
print 'Bar'
def copyApply(self,funcName):
cpy = copy.copy()
# apply funcName to cpy??
a = A()
func = a.Bar()
a.foo(func) # output 'Bar'
b = a.copyApply(foo) # new copy with applied foo
如果要对实例的副本调用方法
就这么说吧
^{pr2}$注意,我是从类中获取方法}的实例作为第一个参数,
foo
,而不是实例,因为A.foo
需要一个{a.foo
不接受任何参数。在请注意,
A.foo
不使用函数的名称,而是函数本身。在在python中,}类型。因此,则采用绑定方法。在
a.foo()
与A.foo(a)
相同,其中a
是{copyApply
方法采用未绑定的条方法作为其参数,而^{相关问题 更多 >
编程相关推荐