Index of content
Lo que produce el siguiente resultado: en lugar de un mensaje de error getattr: método_ficticio estudiante.dummy_method(): predeterminado 28.6 Búsqueda de atributos de intercepción También es posible interceptar siempre las búsquedas de atributos usando la nación de puntos (por ejemplo, estudiante.nombre) implementando el método getattribute(). Este siempre se llamará al método en lugar de buscar el atributo en los objetos diccionario. El getattr() método voluntad solo ser llamado si un Se genera AttributeError o el método getattribute() explícitamente llama al método getattr(). Por lo tanto, el método getattribute() debería devolver un valor de atributo (que puede ser un valor predeterminado) o generar un AttributeError si corresponde. Es importante evitar implementar código que recursivamente se llamará a sí mismo (por ejemplo, llamar a self.name dentro de getattribute() resultará en un llamada recursiva a getattribute()!). Para evitar esto, la implementación ción del método debe acceder al directorio dict o llamar a la base Clases método getattribute(). A continuación se proporciona un ejemplo de un método getattribute() simple que registra la llamada a un método y luego pasa la invocación a la clase base implementación: 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’
Siempre se llamará al método cuando un atributo
se accede, solo se llamará a getattr si
lo hace explícitamente o si se genera un AttributeError
def getattribute(yo, nombre): imprimir(’obteneratributo()’, nombre) devolver objeto.obteneratributo(yo, nombre) def my_default(auto): devolver ‘predeterminado’ 28.5 Manejo de invocaciones de métodos desconocidos 333
popular post
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Read MoreTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Read More• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.
Read More