Inhaltsverzeichnis
28.2.1 ¿Cómo funciona el parche de mono? Python es un lenguaje dinámico que permite que la definición de un tipo cambie en tiempo de ejecución Como los métodos en los objetos son, en esencia, solo otro atributo de una clase, aunque uno que se puede ejecutar, es posible agregar nueva funcionalidad a una clase por definiendo nuevos atributos que contendrán referencias al nuevo comportamiento. 28.2.2 Ejemplo de parches de mono La siguiente clase, Bag, implementa un método de inicialización init(), str() y el método getitem() utilizados para admitir el acceso indexado a un tipo de contenedor (o colección). bolsa de clase(): def init(uno mismo): self.datos = [‘a’, ‘b’, ‘c’] def getitem(self, pos): devolver self.data[pos] def str(uno mismo): devuelve ‘Bolsa(’ + str(self.data) + ‘)’ b = Bolsa() imprimir (b) Esto crea un objeto Bolsa e imprime el contenido de la Bolsa: Bolsa([‘a’, ‘b’, ‘c’]) Sin embargo, si tratamos de ejecutar imprimir (len (b)) Obtendremos un error de tiempo de ejecución: Rastreo (llamadas recientes más última): Archivo “Bolsa.py”, línea 12, en <módulo> imprimir (len (b)) TypeError: el objeto de tipo ‘Bag’ no tiene len() Esto se debe a que la función len() espera que el objeto que se le pasa implemente Mencione el método len() que se utilizará para obtener su longitud. En este caso el class Bag no implementa este método. 326 28 Monkey Patching y búsqueda de atributos
popular post
Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
WeiterlesenTemas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza
Weiterlesen• 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.
Weiterlesen