#/usr/bin/env python class Range(object): def __init__(self, start, stop, step): self.start, self.stop, self.step = start, stop, step def __contains__(self, value): return value >= self.start and value < self.stop and \ (value - self.start) % self.step == 0 if __name__ == '__main__': r1 = Range(10, int(10e6), 2) r2 = range(10, int(10e6), 2) vals = (8, 9, 10, 11, 10e5, 10e6 - 2, 10e6 - 1, 10e6, 10e6 + 1) print('My range:') for val in map(int, vals): print(val, val in r1) print('\nPython''s range:') for val in map(int, vals): print(val, val in r2)