Здравствуйте.
Наверняка вам в голову сразу же пришло это:
class State:
def __init__(self, user_id):
self.__set_state(user_id)
def __get_state(self):
return self.__a
def __set_state(self, state):
self.__a = state
a = property(__get_state, __set_state)
state = State(5)
state.a = 10
state.a # 10
Но, увы, я не могу таким же образом работать и со словарями: при попытке
state = State({'a': "B", 'C': "d"})
state.a['C'] = 8 # TypeError: 'State' object does not support item assignment
выдает
TypeError: 'State' object does not support item assignment
P.S. Геттер мне тоже нужен. Не только сеттер.