Relative Content

Tag Archive for pythonclasspropertiessetattr

Why __getattr__ triggers __setattr__ in the following python code?

class D: def __init__(self): self._attr = 1 self._attr2 = 2 def __getattr__(self, name): if name == ‘data’: return (self._attr, self._attr2) def __setattr__(self, name, value): print(‘__setattr__’) if name == ‘data’: self._attr, self._attr2 = value else: super().__setattr__(name, value) d = D() print(d.data) #OUTPUT: #__setattr__ #__setattr__ #(1,2) For some reason the line return (self._attr, self._attr2) behaves as an […]