【发布时间】:2019-11-08 16:11:57
【问题描述】:
我只是试图用一些具有相似父类的类创建一个系统,它在它们之间动态分配它们的方法,它看起来像一个函数“transform(from, to)”,它的作用类似于 from.foo = to。呵呵
所以,你看,我的问题对于 Python 来说很困难,所以我正在寻求帮助
我的第一次尝试是
def transform(a, b):
a.foo = b.foo
class A:
def foo(self):
pass
class B(A):
def foo(self):
print("bar")
transform(self, C())
class C(A):
def foo(self):
print("foo")
transform(self, B())
b = C()
b.foo()
b.foo()
b.foo()
b.foo()
我想从中得到一些像
foo
bar
foo
bar
但我明白了
foo
bar
bar
bar
最有趣的时刻是第一次转换成功,但接下来。
我的下一个尝试是
class A:
def foo(self):
pass
def transform(self, to):
self.foo = to.foo
class B(A):
def foo(self):
print("bar")
self.transform(C())
class C(A):
def foo(self):
print("foo")
self.transform(B())
b = C()
b.foo()
b.foo()
b.foo()
b.foo()
我得到了同样的结果。您知道如何管理此转换吗?
【问题讨论】: