Una pregunta, este término dunder que se pone en un método sirve para que se pueda utilizarlo envolviendo a la variable? Por ejemplo, al ...

Pregunta de la clase:
Iteradores
Bruno Cornelio

Bruno Cornelio

Pregunta
student
hace 5 años

Una pregunta, este término dunder que se pone en un método sirve para que se pueda utilizarlo envolviendo a la variable?
Por ejemplo, al momento de crear un atributo en una clase sin el dunder y luego crear un objeto, puedes llamar al método del objeto como: objeto.método(), pero es este caso, con dunder lo llamas como: método(objeto). Esto es correcto?

3 respuestas
    Carlos Eduardo Gomez García

    Carlos Eduardo Gomez García

    teacher
    hace 5 años

    Hola, creo que no entiendo muy bien tu pregunta 🤔 ¿A qué momento de la clase te refieres exactamente?

    Los dunder methods suelen ser utilizados para definir métodos especiales dentro de Python, por ejemplo, en el caso de lo iteradores Python necesita esos dunder methods para poder asociarlos con la función

    iter()
    y
    next()
    :D

    Cesar Hernández Ramírez

    Cesar Hernández Ramírez

    student
    hace 5 años

    Así es, es totalmente lo mismo que llamar un método sin el dunder. Lo harías así:

    objeto.__metodo__()
    Y utilizamos los dunder por que así es como python detecta que es un iterable. Si una clase tiene un método llamado iter y uno next podrémos utilizar esos métodos para ir iterándolo. Si tu usas
    objeto.__iter__()
    es lo mismo que si usaramos
    iter(objeto)
    . O si tu usas
    objeto.__next__()
    es lo mismo que si usaramos
    next(objeto)
    👍

Curso Profesional de Python

Curso Profesional de Python

Culmina tu aprendizaje sobre este vasto lenguaje de programación. Domina los conceptos que te llevarán a las condiciones necesarias para iniciar tu camino en la carrera de la industria tecnológica que prefieras: Backend, Ciencia de Datos, Inteligencia Artificial.

Curso Profesional de Python

Curso Profesional de Python

Culmina tu aprendizaje sobre este vasto lenguaje de programación. Domina los conceptos que te llevarán a las condiciones necesarias para iniciar tu camino en la carrera de la industria tecnológica que prefieras: Backend, Ciencia de Datos, Inteligencia Artificial.