У меня есть вопрос по питону, который, я уверен, довольно прост - пожалуйста, не стесняйтесь отвлекать меня от любой плохой практики, пока вы на ней.У меня есть следующий код:
class User(dict,BaseDBI):
def __init__(self,uid=None,username=None):
self['uid']=str(uuid())
if uid == None and username is not None:
uid_struct = self.Get('data/username.kch',username)
if uid_struct is not None:
self = self.Get('data/user.kch',uid_struct['uid'])
Как вы можете сказать, этот пользователь просто расширенный объект dict.Он также обращается к нескольким простым методам Get и Set для пары файлов базы данных Kyoto Cabinet.Я вставил несколько операторов печати, чтобы проследить, что происходит, и все устанавливается правильно, но когда я создаю объект User (например):
user = User(username='someusername')
, а затем печатаю пользователя, у меня появляется только новый объект dictс новым uid
, сгенерированным первой строкой под __init__
Спасибо за любую мудрость!