Programación en Python: métodos mágicos
En primer lugar, debes haber usado métodos mágicos y debes haber visto métodos mágicos. Los métodos que comienzan con un guión bajo, como:
, se denominan colectivamente métodos mágicos.
Suma números enteros y cadenas:
Escribimos una clase que representa una ciudad, que tiene dos atributos: nombre de la ciudad y población.
Luego agregamos las dos ciudades y descubrimos que no se pueden agregar:
El mensaje de error decía que la ciudad no admite el " " número. ¿Cómo hacer que admita " "? Debes agregar el método mágico __add__ a la clase para agregarlos.
Agregamos un método __add__ a Ciudad, agregamos ciudades, agregamos poblaciones y creamos una nueva ciudad:
Esto muestra que __add__ tiene cierto poder mágico cuando usamos el signo más. " ", Python volverá y buscará este método. Si el objeto no tiene este método, se informará un error.
En Python, todos los operadores se implementan mediante métodos mágicos.
Si tenemos los siguientes métodos en la clase City, podemos hacer sumas, restas, multiplicaciones y divisiones:
Imprimamos int y str para ver sus métodos. resta, multiplicación y división, y str solo tiene __add__ __mul__, solo puede hacer sumas y multiplicaciones:
¿Por qué una lista puede obtener elementos __getitem__? Puedes agregar este método a cualquier clase y luego puedes. use [] corchetes para obtener elementos:
Los métodos que más usamos definitivamente son __new__ y __init__ Al crear un nuevo método, se llamarán estos dos métodos:
No los hay. solo métodos mágicos, pero también métodos mágicos, en forma de "__yyy__", generalmente son atributos establecidos automáticamente por Python. Podemos usar estos atributos, como:
Por qué usar el método str y cuándo. utilizar el método repr?
Si queremos que la impresión quede bien podemos definir el método __str__: