我有一个python问题,我敢肯定它非常简单 - 请随时在我处理任何类型的不良练习时随时关注我。我有以下代码:python 2.7 __init__对自己的行为
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'])
正如你可以告诉这个用户只是一个扩展的字典对象。它还可以在一些Kyoto Cabinet数据库文件上访问几个简单的Get和Set方法。我把一些打印语句是通过什么回事跟踪,一切都得到了适当的设置,但是当我创建了一个用户对象(例如):
user = User(username='someusername')
,然后打印用户我只有具有新的字典对象全新uid
第一行生成__init__
感谢您的任何智慧!
什么问题? – 2010-11-08 18:00:52
为什么它从字典继承呢?你确定你不想调用基类'__init__'吗?当然你得到一个'dict',它应该是一个*看起来像一个字典的对象? – 2010-11-08 18:02:43