允许对象访问其拥有对象的属性

2024-09-29 21:36:34 发布

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

我有一大堆有效算法的类,它们都继承自一个机制类。然后我有一个MechanismStack类,它保存了一系列这些算法类的列表,它们都是可互换的/模块化的-即Mechanism1.encode()的输出作为输入进入Mechanism2.encode()(实际上是一个函数队列)

其中两个类产生的数据不仅仅是输出数据。我想将这些额外的数据存储在MechanismStack类中(这也是一个对象-有多个由不同算法组成的不同堆栈)

class MechanismStack:
    self.stack = [Mechanism1(), Mechanism2(), Mechanism3()]
    self.attribute = list()
    def encode(self, input):
        #process input through self.stack Mechanisms

class Mechanism1(Mechanism):
    def function(self, input):
        #code
        owningMechanismStack.attribute = ['some', 'list']

myStack = MechanismStack()
myStack.encode('myInputString')

Tags: 数据self算法inputstackdefattributelist
1条回答
网友
1楼 · 发布于 2024-09-29 21:36:34

将拥有的MechanismStack添加为Mechanism的属性,在调用构造函数时提供该属性

class Mechanism:
    def __init__(self, owner):
        this.owningMechanismStack = owner

class MechanismStack:
    self.stack = [Mechanism1(self), Mechanism2(self), Mechanism3(self)]
    ...

相关问题 更多 >

    热门问题