我有一个 Python 脚本,它控制list
必须在给定图像的线条之上行走的假想机器。
我有一个Control
类可以跟踪所有实例Machine
并更新实例的位置和旋转。由于图像中的某些缺陷,某些实例可能并且将会丢失,因此它们需要“手动”重新计算其位置。
问题是我需要在list
对象中选择和返回的所有实例中应用一个方法,而不会破坏函数调用链。
这就是我所拥有的:
class Control:
def __init__(self, instances):
self.machine_instances = instances
...
def get(self, elem = 0, end = None, step = 1):
return machine_instances[elem : end : step]
...
class Machine:
def __init__(self, x_position):
...
def position_recalc(self):
...
...
这是它必须使用的方式:
ml = [Machine(int(sys.argv[i])) for i in range(1, sys.argc)]
c = Control(ml)
...
c.get(2, 4).position_recalc()
OBS:该方法Control.get()
的返回值和类型可能会改变。