在類中進行錯誤檢查的正確方法是什麼?提出例外?設置包含所有錯誤並返回它的實例變量字典「錯誤」?在設置變量時引發錯誤的Python中的正確方法
從班上打印錯誤不好嗎? 如果我發起異常,我必須返回False嗎?
只是想確保我做正確的事情。以下是一些示例代碼:
@property
def password(self):
return self._password
@password.setter
def password(self,password):
# Check that password has been completed
try:
# Check that password has a length of 6 characters
if (len(password) < 6):
raise NameError('Your password must be greater \
than 6 characters')
except NameError:
print 'Please choose a password'
return False
except TypeError:
print 'Please choose a password'
return False
#Set the password
self._password = password
#Encrypt the password
password_md5 = md5.new()
password_md5.update(password)
self._password_md5 = password_md5.hexdigest()
該代碼中名爲'password'的東西太多了。 (第一個函數,第二個函數和第二個函數的參數).pyflakes將成爲你的朋友。 – keturn 2010-03-26 20:51:21
@keturn:它是'property()'函數文檔中顯示的模式。看看[使用'.setter'裝飾器]的文檔中的代碼示例(https://docs.python.org/3/library/functions.html#property)。在setter方法中'password'是一個局部變量(參數)。其他名稱位於不同的名稱空間中(它們屬於該類)。 – jfs 2017-07-05 15:51:13