Class Python

class stepper:
     def __getitem__(self, i):
         return self.data[i]
X = stepper()              # X is a stepper object
X.data = "Spam"
print X[1]                       # indexing calls __getitem__
for item in X:             # for loops call __getitem__
     print item,            # for indexes items 0..N
print 'p' in X                   # all call __getitem__ too
print [c for c in X]             # list comprehension
print map(None, X)               # map calls
(a,b,c,d) = X              # sequence assignments
print a, c, d
print list(X), tuple(X), ''.join(X)
(['S', 'p', 'a', 'm'], ('S', 'p', 'a', 'm'), 'Spam')