Обычно вы вообще не пишете сеттеры / геттеры. В этом нет никакого смысла, так как python не запрещает кому-либо напрямую обращаться к атрибутам. Однако, если вам нужна логика, вы можете использовать property
s
class Foo(object):
def __init__(self, db):
self.db = db
@property
def x(self):
db.get('x')
@x.setter
def x(self, value):
db.set('x', value)
@x.deleter
def x(self):
db.delete('x')
Затем вы можете использовать эти методы свойств так же, как и значение базового атрибута:
foo = Foo(db)
foo.x
foo.x = 'bar'
del foo.x