Этот вопрос касается истребимых объектов, а не об итераторах. В Python последовательности также повторяются, поэтому один из способов сделать итерируемый класс - заставить его вести себя как последовательность, т. Е. Дать ему методы __getitem__
и __len__
. Я тестировал это на Python 2 и 3.
class CustomRange:
def __init__(self, low, high):
self.low = low
self.high = high
def __getitem__(self, item):
if item >= len(self):
raise IndexError("CustomRange index out of range")
return self.low + item
def __len__(self):
return self.high - self.low
cr = CustomRange(0, 10)
for i in cr:
print(i)
Если вы используете Python 3.6+, хорошим вариантом будет f-strings:
f'{115:,.2f}'
f'{4224:,.2f}'
Если 4224 на самом деле строка (возможно из-за запятой), вам нужно преобразовать ее на номер до f"{int('4,224'.replace(',','')):,.2f}"