कक्षा में त्रुटि-जांच करने का उचित तरीका क्या है? अपवाद उठा रहा है? एक इंस्टेंस वेरिएबल डिक्शनरी "त्रुटियों" को सेट करना जिसमें सभी त्रुटियां हैं और इसे वापस कर रहा है?चर सेट करने के दौरान पाइथन में त्रुटियों को बढ़ाने के लिए उचित तरीका
क्या कक्षा से त्रुटियों को मुद्रित करना बुरा है? क्या मुझे अपवाद उठाने पर झूठी वापसी करनी है?
बस यह सुनिश्चित करना चाहते हैं कि मैं सही काम कर रहा हूं। नीचे कुछ नमूना कोड है:
@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()
उस कोड में 'पासवर्ड' नाम की बहुत सारी चीज़ें। (पहला फ़ंक्शन, दूसरा फ़ंक्शन, और दूसरे फ़ंक्शन के लिए तर्क।) pyflakes आपका मित्र होगा। – keturn
@keturn: यह 'संपत्ति()' फ़ंक्शन के लिए दस्तावेज़ों में दिखाया गया एक पैटर्न है। '.सेटर' सजावट का उपयोग करने वाले दस्तावेज़ों में [कोड उदाहरण] देखें (https://docs.python.org/3/library/functions.html#property)। सेटटर विधि 'पासवर्ड' के अंदर एक स्थानीय चर (पैरामीटर) है। अन्य नाम एक अलग नामस्थान में हैं (वे कक्षा से संबंधित हैं)। – jfs