Índice de contenido
Podemos usar esta versión de la clase con el siguiente fragmento de código estudiante = Estudiante(‘Katie’) print(’estudiante.nombre:’, estudiante.nombre) # búsqueda de instancia res1 = estudiante.dummy_attribute # invocar atributo faltante imprimir (’estudiante.dummy_attribute:’, res1) La salida de esto es ahora: getattribute() nombre estudiante.nombre: Katie getattribute() atributo_ficticio getattr: atributo_ficticio estudiante.dummy_attribute: predeterminado Como puede ver en esto, se llama al método getattribute() para ambos nombre del estudiante y estudiante.dummy_attribute. Sin embargo el El método getattr() solo se llama cuando el dummy_attribute es accedido Tenga en cuenta que getattribute() solo se invoca para el acceso a atributos y no para la invocación de métodos (a diferencia de getattr()). 28.7 Interceptar Establecer un atributo También es posible interceptar la asignación de atributos de objeto/instancia cuando el punto se está utilizando la notación (por ejemplo, estudiante.nombre = ‘Bob’). Esto se puede hacer por implementando el método setattr(). Este método se invoca en lugar de la asignación. El método setattr() puede realizar cualquier acción requerida, incluido el almacenamiento el valor ofrecido. Sin embargo, para hacer esto debe insertar el valor directamente en el diccionario de objetos (por ejemplo, estudiante.dict[’nombre’] = ‘Bob’) o preferiblemente llama al método setattr() de la clase base, por ejemplo object. setattr__(self, name, value) como se muestra a continuación para la clase Student: estudiante de clase: cuenta = 0 def init(uno mismo, nombre): self.nombre = nombre Student.count += 1
Siempre se llamará al método cuando se establezca un atributo
def setattr(yo, nombre, valor): imprimir(’setattr:’, nombre, valor) objeto.setattr(yo, nombre, valor) 334 28 Monkey Patching y búsqueda de atributos
popular post
El modelo AR de series temporales univariadas
Resumen: En esta entrada, descubrirá el modelo AR: El modelo autorregresivo.
Leer másEvaluació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ásModelos 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