Advertisement
neonua666

Untitled

Apr 2nd, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.06 KB | None | 0 0
  1. from collections import defaultdict
  2. import weakref
  3.  
  4. class KeepRefs(object):
  5.     __refs__ = defaultdict(list)
  6.     def __init__(self):
  7.         self.__refs__[self.__class__].append(weakref.ref(self))
  8.  
  9.     @classmethod
  10.     def get_instances(cls):
  11.         for inst_ref in cls.__refs__[cls]:
  12.             inst = inst_ref()
  13.             if inst is not None:
  14.                 yield inst
  15.  
  16. class Person(KeepRefs):
  17.     def __init__(self, numder, full_name, data_birs, sex, data_start_work, post, pay=0):
  18.         super(Person, self).__init__()
  19.         self.numder=numder
  20.         self.full_name=full_name
  21.         self.data_birs=data_birs
  22.         self.sex=sex
  23.         self.data_start_work=data_start_work
  24.         self.post=post
  25.         self.pay=pay
  26.  
  27. first=Person(1, 'Nemkovych Roman', '15.10.1995', 'men', '01.01.2017', 'developer', 1500)
  28. second=Person(2, 'Ivanov Ivan', '11.12.1980', 'men', '28.03.2015', 'developer', 15000)
  29. third=Person(3, 'Diego God', '01.01.2000', 'women', '01.01.2017', 'TestOOP', 2000)
  30.  
  31. for r in Person.get_instances():
  32.     print(r.full_name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement