Python从对象its更改对象引用

2024-04-20 03:03:41 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑以下代码:

class A:
    def hi(self):
        print 'A'
    def change(self):
        self = B()
class B(A):
    def hi(self):
        print 'B'

以及

^{pr2}$

是否有某种方法可以使这个原则起作用,从而从类/对象本身改变对象引用“test”?在


Tags: 对象方法代码testselfdefhichange
1条回答
网友
1楼 · 发布于 2024-04-20 03:03:41

对象没有包含它们的变量的概念-因此,您不能完全执行您要做的事情。在

你可以做的是有一个容器,它知道它包含的东西:

class Container(object):
    def __init__(self):
        self.thing = A()
    def change(self):
        self.thing = B()
    def hi(self):
        self.thing.hi()

test = Container()
test.hi() # prints A
test.change()
test.hi() # prints B

相关问题 更多 >