Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Base(object):
- Trackable = []
- def __init__(self, ):
- self.identification = 'Base'
- Base.Trackable.append(self)
- self.trackable = list(Base.Trackable)
- def __len__(self, ):
- return len(Base.Trackable)
- def __getitem__(self, key):
- return Base.Trackable[key]
- def __setitem__(self, key, value):
- Base.Trackable[key] = value
- def __delitem__(self, key):
- del Base.Trackable[key]
- def __iter__(self, ):
- return self
- def next(self, ):
- if self.noMoreToGo():
- self.trackable = list(Base.Trackable)
- raise StopIteration
- for item in Base.Trackable:
- if item.identification == 'ExtendBase':
- self.trackable[self.trackable.index(item)] = 0
- return item
- if item.identification == 'Base':
- self.trackable[self.trackable.index(item)] = 0
- return item
- def noMoreToGo(self, ):
- if self.trackable:
- return False
- else:
- return True
- class ExtendBase(Base):
- def __init__(self, ):
- Base.__init__(self, )
- self.identification = 'Base'
- g = Base()
- gg = ExtendBase()
- for i in g:
- print i.identification
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement