Я делаю программу, в которой мне нужно перебирать каждую опцию в классе для выполнения действий над каждым объектом, для этого я создал класс IterRegistry, чтобы превратить метакласс моих объектов в итеративный, но по какой-то причине,это все еще не работает.
class IterRegistry(type):
def __iter__(cls):
return iter(cls._registry)
class TreeLine(object):
__metaclass__ = IterRegistry
_registry = []
def __init__(self, earnings, buy_price):
self._registry.append(self)
self.earnings = earnings
self.buy_prince = buy_price
TreeLine(0, 0)
TreeLine(0, 7)
for i in TreeLine:
print(i)
Я просто получаю сообщение об ошибке: Файл "/Users/PycharmProjects/AISTUFF/venv/OSI@.py", строка 23, для i в TreeLine: TypeError: объект 'type' не повторяется