fork download
  1. class molecule(object):
  2.  
  3. def __init__(self,name):
  4. self.natoms = 10
  5.  
  6. def __iter__(self):
  7. for i in range(1, self.natoms + 1):
  8. yield self[i]
  9.  
  10. def __getitem__(self, i):
  11. return 'atom{}'.format(i)
  12.  
  13.  
  14. ben = molecule('ben')
  15. ite = iter(ben)
  16. assert next(ite) == 'atom1'
  17. assert next(ite) == 'atom2'
  18. ite2 = iter(ben)
  19. assert next(ite) == 'atom3'
  20. assert next(ite2) == 'atom1'
Success #stdin #stdout 0.02s 9944KB
stdin
Standard input is empty
stdout
Standard output is empty