21 self.
attr_nameattr_name =
'_setter__' + method.__name__
28 return getattr(instance, self.
attr_nameattr_name)
29 except AttributeError:
35 setattr(instance, self.
attr_nameattr_name, self.
methodmethod(instance, value))
41 if '__slots__' in dct:
42 slots = list(dct[
'__slots__'])
43 for item
in dct.values():
44 if isinstance(item, setter):
45 slots.append(item.attr_name)
46 dct[
'__slots__'] = slots
47 return type.__new__(cls, name, bases, dct)
def __new__(cls, name, bases, dct)
def __init__(self, method)
def __get__(self, instance, owner)
def __set__(self, instance, value)