我有一個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