preloader

1 de enero de 1 | 2 minutos de lectura
Índice de contenido

28.4 Manejo del acceso a atributos desconocidos Monkey patching es, por supuesto, muy flexible y muy útil cuando sabes lo que necesita proporcionar; sin embargo, ¿qué sucede cuando una referencia de atributo (o método) invocación) ocurre cuando no se espera? Por defecto se genera un error como el AttributeError a continuación: alumno = alumno(‘Juan’) res1 = estudiante.dummy_attribute imprimir (‘p.dummy_attribute:’, res1) Esto genera un AttributeError para dummy_attribute Rastreo (llamadas recientes más última): Archivo “Estudiante.py”, línea 51, en <módulo> res1 = estudiante.dummy_attribute AttributeError: el objeto ‘Estudiante’ no tiene atributo ‘dummy_attribute’ Por supuesto, puede detectar el error de atributo si lo desea; pero el medio de envolver su código en un bloque de prueba. Un enfoque alternativo es definir un método llamado getattr(); este método será llamado cuando no se encuentre un atributo en el objetos (y clases) diccionario dict. Este método puede realizar cualquier la acción es apropiada, como registrar un mensaje o proporcionar un valor predeterminado, etc. Por ejemplo, si modificamos la definición de la clase Student para incluir un método getattr() tal que se devuelve un valor predeterminado: estudiante de clase: cuenta = 0 def init(uno mismo, nombre): self.nombre = nombre Student.count += 1

Método llamado si el atributo es desconocido

def getattr(uno mismo, atributo): imprimir (’getattr:’, atributo) devolver ‘predeterminado’ Ahora, cuando tratamos de acceder a dummy_attribute en un objeto de estudiante, obtendrá la cadena ‘predeterminada’ devuelta: alumno = alumno(‘Juan’) res1 = estudiante.dummy_attribute imprimir (‘p.dummy_attribute:’, res1) 28.4 Manejo del acceso a atributos desconocidos 331

comments powered by Disqus

popular post

El modelo AR de series temporales univariadas

Resumen: En esta entrada, descubrirá el modelo AR: El modelo autorregresivo.

Leer más

Evaluación de modelos para pronosticar

Resumen: Al desarrollar modelos de aprendizaje automático, generalmente se comparan varios modelos durante la fase de construcción.

Leer más

Modelos para pronosticar

Resumen: El pronóstico, traducido groseramente como la tarea de predecir el futuro, ha estado presente en la sociedad humana durante siglos.

Leer más