iter-demo.py 472 B

123456789101112131415161718192021222324252627282930
  1. class MyRange:
  2. def __init__(self, start, end):
  3. self.value = start
  4. self.end = end
  5. def __iter__(self):
  6. return self
  7. def __next__(self):
  8. if self.value >= self.end:
  9. raise StopIteration
  10. current = self.value
  11. self.value += 1
  12. return current
  13. def my_range(start):
  14. current = start
  15. while True:
  16. yield current
  17. current += 1
  18. nums = my_range(1)
  19. for num in nums:
  20. print(num)