Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from collections import defaultdict
- import weakref
- class KeepRefs(object):
- __refs__ = defaultdict(list)
- def __init__(self):
- self.__refs__[self.__class__].append(weakref.ref(self))
- @classmethod
- def get_instances(cls):
- for inst_ref in cls.__refs__[cls]:
- inst = inst_ref()
- if inst is not None:
- yield inst
- class Person(KeepRefs):
- def __init__(self, numder, full_name, data_birs, sex, data_start_work, post, pay=0):
- super(Person, self).__init__()
- self.numder=numder
- self.full_name=full_name
- self.data_birs=data_birs
- self.sex=sex
- self.data_start_work=data_start_work
- self.post=post
- self.pay=pay
- first=Person(1, 'Nemkovych Roman', '15.10.1995', 'men', '01.01.2017', 'developer', 1500)
- second=Person(2, 'Ivanov Ivan', '11.12.1980', 'men', '28.03.2015', 'developer', 15000)
- third=Person(3, 'Diego God', '01.01.2000', 'women', '01.01.2017', 'TestOOP', 2000)
- for r in Person.get_instances():
- print(r.full_name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement