Métodos de Python Dunder

Métodos de Python Dunder
Los métodos Dunder también se denominan técnicas especiales que son un conjunto de métodos predefinidos en Python que pueden usarse para mejorar sus clases. Debido a que comienzan y concluyen con dobles subrayos, como __init__ o __str__, son fácilmente identificables. En Python, estos "dunders" o "métodos especiales" a veces se conocen como "métodos mágicos."Sin embargo, adoptar esta frase puede hacer que las cosas parezcan más sofisticadas de lo que son. Estas técnicas deben manejarse como si tuvieran aspectos de lenguaje incorporados.

Los métodos Dunder son métodos intrínsecos de Python extremadamente fuertes que pueden usarse para desarrollar clases complejas. Esta lección proporciona una guía paso a paso de los métodos de Python y cómo usarlos, completo con ejemplos. La consistencia de la popularidad de Python se puede rastrear a la popularidad del idioma. Para métodos intrínsecos como ABS (), Len (), Sorted () y muchos otros, Python le permite implementar sus objetos personalizados. Todo lo que tiene que hacer ahora es agregar algunos métodos únicos a su clase (métodos Dunder).

En este artículo, hemos utilizado frases como métodos Dunder, métodos mágicos y técnicas especiales, todas las cuales entran en la misma categoría. Antes de entrar en el tutorial, debes estar al tanto de algo. Los programadores de Python que tienen experiencia con la programación orientada a objetos (OOP) reconocerán el método __init__. El método Dunder lleva el nombre de los dobles subrayadores, que se conocen como Dunder en Python. Debido a que hay métodos mágicos en Ruby que cumplen con el mismo propósito, algunos programadores de Python se refieren a ellos como tales en Python. Por lo general, nos referimos a ellos como métodos especiales porque eso es lo que los llama el manual de Python. Como resultado, si ve estos métodos en Python, suponga que son métodos especiales.

Ejemplo 1:

Similar a los constructores en otros lenguajes de programación, cuando se forma una instancia de una clase, la función __init__ para la inicialización se invoca sin ninguna llamada. En las clases de Python, "__init__" es un método reservado. En la terminología orientada a objetos, se conoce como una función Object () [Código nativo]. Este método se invoca cuando se forma un objeto de una clase para permitir que la clase llene sus propiedades. Podemos usar el operador '+' para combinar dos cadenas sin necesidad de aplicar una tipificación explícita debido a estos métodos. Aquí hay un ejemplo detallado de cómo realizar esto. Declaramos primero nuestra clase de cadena, seguido de la función mágica para crear un objeto. La creación del objeto se completa después del código del controlador, y la ubicación del objeto se informa al final.

Las líneas de código anteriores simplemente impriman la dirección de memoria del objeto de cadena.

Ejemplo 2:

Utilizaremos el método __repr__ para representar nuestro objeto en el siguiente ejemplo. El método mágico __reprit representa una instancia de clase en una cadena. Cuando intentamos imprimir un objeto de clase, se llama a la función __repr__ que produce una cadena. Por defecto, RepR () devuelve la representación de cadena del valor suministrado a la función eval. Por defecto, el objeto de clase personalizado proporciona una cadena en los soportes de ángulo que contienen el nombre y la dirección del objeto. Excepto por la adición del método __repr__ después de haber utilizado el método mágico para inicializar el objeto, el código es el mismo que antes.

Aquí puede ver que lo anterior ha mostrado con éxito la cadena.

Ejemplo 3:

Ahora agregaremos la función __add__ a la clase de cadena. Los atributos de la instancia de clase se agregan utilizando el método mágico __add__. Permitamos que Object1 pertenece a la clase A y Object2 a la clase B y que ambas clases tienen un atributo llamado 'A' que contiene un entero. Después de que se realiza la operación Object1 + Object2, la función __add__ agrega implícitamente los atributos de estos objetos, como Object1.A + Object2.a. Reinicializamos la clase de cadena en el código, como puede ver en la primera línea de código. Después de eso, utilizamos la forma mágica de comenzar el objeto. El objeto de cadena se imprimió luego utilizando el método __add__. El objeto se crea después del código del controlador, que es la siguiente línea de código. En la última línea de código, concatenamos un objeto de cadena con una cadena.

Cadena de clase:

A continuación se muestra la salida del código escrito anteriormente.

Conclusión:

Los métodos mágicos son métodos de Python con dobles subrayos al principio y conclusión. Los métodos o técnicas de dunder son otro nombre para ellos. Los métodos mágicos no están destinados a ser llamados directamente por el usuario; En cambio, la clase los llame internamente en reacción a una acción específica. El método __add __ () se llama internamente cuando usa el operador + para agregar dos números, por ejemplo. Las clases incorporadas de Python definen muchos métodos mágicos. Para averiguar cuántos métodos mágicos ha heredado, puede usar la función dir ().