, :
class Foo(object):
def __init__(self):
self._bar = None
@property
def bar(self):
return self._bar
@bar.setter
def bar(self, value):
self._bar = value
@bar.deleter
def bar(self):
self._bar = None
:
class Also_Foo(object):
def __init__(self):
self._bar = None
def get_bar(self):
return self._bar
def set_bar(self, value):
self._bar = value
def del_bar(self):
self._bar = None
bar = property(fget=get_bar, fset=set_bar, fdel=del_bar, doc=None)
BUT , without polluting the class namespace with methods getand setfor each attribute.
You keep external direct access to the variable by using ._barinstead .bar.
source
share