Skip to main content
 首页 » 编程设计

python之如何在python中调用同一个类的不同实例

2025年05月04日11findumars

我是 Python 新手。我正在 SimPy 中编写模拟来模拟一条生产线,它看起来像:机器 1 -> 缓冲区 1 -> 机器 2 -> 缓冲区 2 -> 等等。

我的问题: 我有一个类,机器,其中有几个实例。假设当前实例是机器 2。此实例的方法影响机器 1 和 3 的状态。例如:如果缓冲区 2 为空,则机器 3 空闲。但是当机器 2 将零件放入缓冲区 2 时,机器 3 应该被激活。

那么,从该类的任何给定实例引用同一类的不同实例的方法是什么? 此外,稍微不同的问题:从另一个类的当前实例调用对象(在本例中为缓冲区 1 和 2)的方法是什么?

编辑:编辑以增加系统的清晰度。

请您参考如下方法:

一个类的实例了解该类的其他实例的情况并不常见。

我建议您在类本身中保留某种实例集合,并使用该类来查找实例:

class Machine(object): 
    lst = [] 
    def __init__(self, name): 
        self.name = name 
        self.id = len(Machine.lst) 
        Machine.lst.append(self) 
 
m0 = Machine("zero") 
m1 = Machine("one") 
 
print(Machine.lst[1].name)  # prints "one"