23 lines
366 B
Python
23 lines
366 B
Python
|
# create a class that has a __getitem__ method
|
||
|
class A:
|
||
|
def __getitem__(self, index):
|
||
|
print('getitem', index)
|
||
|
if index > 10:
|
||
|
raise StopIteration
|
||
|
|
||
|
# test __getitem__
|
||
|
A()[0]
|
||
|
A()[1]
|
||
|
|
||
|
# iterate using a for loop
|
||
|
for i in A():
|
||
|
pass
|
||
|
|
||
|
# iterate manually
|
||
|
it = iter(A())
|
||
|
try:
|
||
|
while True:
|
||
|
next(it)
|
||
|
except StopIteration:
|
||
|
pass
|