У меня есть пример класса:
class collection:
def __init__(self, itemArray):
self.itemArray = itemArray
self.max = len(itemArray)
def __iter__(self):
self.index = 0
return self
def __next__(self):
if self.index < self.max:
result = self.itemArray[self.index]
self.index += 1
return result
else:
raise StopIteration()
Моя цель - получить доступ к переменной self.itemArray
без явного использования collection.itemArray
извне класса. Я хочу иметь возможность l oop над объектом, делая его итеративным, поэтому у меня есть __iter__
и __next__
.
Я хочу имитировать c поведение, которое вводит строка использует, ie.
stringVar = "randomTextString"
stringVar[indexVal]
Попытка этого с объектом не будет работать, поскольку это вызовет ошибку TypeError, потому что объекты не являются допустимыми.
Мне просто нужно, чтобы кто-то указал мне на правильное направление. Я посмотрел на python документы для решения, но я не нашел ничего.