python get iter from object method for code example

Example 1: python defining the iterator protocol

class RangeTen:
  def __init__(self, *args): pass # optional
  
  def __iter__(self):
    '''Initialize the iterator.'''
    self.count = -1
    return self
  
  def __next__(self):
  	'''Called for each iteration. Raise StopIteration when done.'''
    if self.count < 9:
      self.count += 1
      return self.count

    raise StopIteration
    
for x in RangeTen():
  print(x) # 0, 1, ..., 9

Example 2: python how to use iter

s = 'hello'
s_iter = iter(s) #Changes the string to an iterator
print(next(s_iter)) #Will print h
print(next(s_iter)) #Will print e
print(next(s_iter)) #Will print l
print(next(s_iter)) #Will print l
print(next(s_iter)) #will print o