Slide 33
Slide 33 text
|| PYTHON DESCRIPTORS PROTOCOL IN DETAIL || PYCON ES 2015 || PABLO ENFEDAQUE VIDAL || @pablitoev56 ||
class SlottedClass:
__slots__ = ['attr_x', 'attr_y'] # These are slots
def __init__(self, x, y):
self.attr_x = x
self.attr_y = y
def sum_content(self):
return self.attr_x + self.attr_y
inst = SlottedClass(12345, 67890)
print(SlottedClass.__dict__)
{'attr_x': , 'attr_y':
, '__slots__':
['attr_x', 'attr_y']...}
print(SlottedClass.__dict__['attr_x'].__get__(inst,
SlottedClass))
54321
# Slots are descriptors!
SlottedClass.__dict__['attr_x'].__set__(inst, 100001)
print(inst.attr_x)
100001