¿Cuál es la forma correcta de hacer la comprobación de errores en una clase? ¿Planteando excepciones? Establecer un diccionario de variables de instancia "errores" que contiene todos los errores y devolverlos?Manera adecuada en Python para generar errores al establecer las variables
¿Es malo imprimir los errores de una clase? ¿Debo devolver False si presento una excepción?
Solo quiero asegurarme de estar haciendo las cosas bien. A continuación se muestra un código de ejemplo:
@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()
Demasiadas cosas llamadas 'contraseña' en ese código. (la primera función, la segunda función y el argumento para la segunda función.) pyflakes será tu amigo. – keturn
@keturn: es un patrón que se muestra en los documentos para la función 'property()'. Mire el [ejemplo de código en los documentos que usa el decorador '.setter'] (https://docs.python.org/3/library/functions.html#property). Dentro del método setter 'contraseña' es una variable local (parámetro). Otros nombres están en un espacio de nombre diferente (pertenecen a la clase). – jfs