| f | class ParDescr: | f | class ParDescr: |
| | | |
| n | def __init__(self, value): | n | def __init__(self, initial): |
| self.value = value | | self._initial = initial |
| self.name = None | | self._name = None |
| | | |
| def __set_name__(self, owner, name): | | def __set_name__(self, owner, name): |
| n | self.name = name | n | self._name = name |
| | | |
| def __get__(self, instance, owner=None): | | def __get__(self, instance, owner=None): |
| if instance is None: | | if instance is None: |
| n | return self.value | n | return self._initial |
| return instance.__dict__.get(self.name, self.value) | | return instance.__dict__.get(self._name, self._initial) |
| | | |
| def __set__(self, instance, value): | | def __set__(self, instance, value): |
| n | instance.__dict__[self.name] = value | n | instance.__dict__[self._name] = value |
| | | |
| def __delete__(self, instance): | | def __delete__(self, instance): |
| try: | | try: |
| n | del instance.__dict__[self.name] | n | del instance.__dict__[self._name] |
| except KeyError: | | except KeyError: |
| t | raise KeyError(self.name) | t | raise KeyError(self._name) from None |