0
該類應該接受Keys
屬性的參數,但是當我嘗試MyUserInstance.Keys('foo')
時,它不起作用。相反,它表示TypeError: Keys() takes exactly 2 arguments (1 given)
。它怎麼錯了?Python類屬性沒有正確接受參數
# User
class User:
def __init__(self,
Username = 'New User',
**kwargs):
self.Username = Username
self.__dict__.update(kwargs)
@property
def Keys(self,collection):
try:
return {k:1 for k in db.UserPreferences.find_one({
'Type':'VisibleKeys',
'UserID':self._id,
'CollectionName':collection})['Keys']}
except:
return None
def __repr__(self):
return '<User: "%s">' % self.Username
感謝您的回覆,但我認爲我已經把你放錯了路。爲了清晰起見,我編輯了這個問題。假設我已經有一個實例。我只想用'collection'作爲參數從我的數據庫中返回一個字典。爲什麼它告訴我我清楚地指出了錯誤的參數數目,我不知道? – MFB 2012-08-10 03:57:18
是的資本命名使它看起來像班級。但其餘答案仍然正確。您使用的是財產錯誤。他們不採取參議員。刪除屬性修飾器並使其成爲一種常規方法,並且它將按照您使用它的方式工作。 – jdi 2012-08-10 04:05:03
非常感謝併爲此感到抱歉。 – MFB 2012-08-10 04:08:29