david_Yakhin_312 BorgSum 6594
Владислав Ренкас, 321 BorgSum 6559
f1import weakreff1import weakref
22
3class Borg:3class Borg:
n4    _instances = []n4    _refs = []
55
6    def __init__(self, value=0):6    def __init__(self, value=0):
7        self.value = value7        self.value = value
n8        Borg._instances.append(weakref.ref(self))n8        Borg._refs.append(weakref.ref(self))
99
10    def __str__(self):10    def __str__(self):
11        return str(self.value)11        return str(self.value)
1212
13    def __repr__(self):13    def __repr__(self):
n14        return str(self.value)n14        return str(self)
1515
16    def __iter__(self):16    def __iter__(self):
n17        for ref in Borg._instances:n17        for r in Borg._refs:
18            obj = ref()18            obj = r()
19            if obj is not None:19            if obj is not None:
20                yield obj.value20                yield obj.value
2121
n22    def __iadd__(self, other):n22    def __iadd__(self, num):
23        for ref in Borg._instances:23        for r in Borg._refs:
24            obj = ref()24            obj = r()
25            if obj is not None:25            if obj is not None:
n26                obj.value += othern26                obj.value += num
27        return self27        return self
2828
n29    def __isub__(self, other):n29    def __isub__(self, num):
30        for ref in Borg._instances:30        for r in Borg._refs:
31            obj = ref()31            obj = r()
32            if obj is not None:32            if obj is not None:
t33                obj.value -= othert33                obj.value -= num
34        return self34        return self
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op