Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Métodos Mágicos de Comparación | Métodos Mágicos
Programación Orientada a Objetos en Python a Fondo

bookMétodos Mágicos de Comparación

De forma similar a los métodos mágicos matemáticos, aquí tomamos self y other como argumentos y comparamos sus atributos deseados. Estos métodos mágicos siempre deben devolver True o False.

Método MágicoOperación
__eq__(self, other)==
__gt__(self, other)>
__ge__(self, other) >=`
__lt__(self, other)<
__le__(self, other)<=
__ne__(self, other) !=`

Nota

Para entender la nomenclatura de estos métodos, mira algunos ejemplos:

  • eq es equal.
  • gt es greater than.
  • le es less o equal.
  • ne is not equal.
12345
a = 12.3 b = 5.7 print("a >= b is", a >= b) print("a.__ge__(b) is", a.__ge__(b))
copy

Mira el ejemplo de la clase Road:

123456789101112131415161718
class Road: def __init__(self, length): self.length = length def __eq__(self, other): if isinstance(other, Road): return self.length == other.length # compare with road return self.length == other # compare with number road_1 = Road(20) road_2 = Road(30) road_3 = Road(20) print(road_1 == road_2) print(road_1 == road_3) print(road_1 == 20) print(road_1 == 20.0) print(road_1 == 1412)
copy

Nota

Para optimizar el código, puede utilizar métodos de comparación existentes. Por ejemplo, si ha implementado el método __lt__() (<), al implementar el método __ge__() (>=), puede utilizar return not (instance1 < instance2) que devolverá el resultado opuesto al operador < ya implementado.

question mark

¿Qué método mágico debe utilizarse?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Pregunte me preguntas sobre este tema

Resumir este capítulo

Mostrar ejemplos del mundo real

Awesome!

Completion rate improved to 2.78

bookMétodos Mágicos de Comparación

Desliza para mostrar el menú

De forma similar a los métodos mágicos matemáticos, aquí tomamos self y other como argumentos y comparamos sus atributos deseados. Estos métodos mágicos siempre deben devolver True o False.

Método MágicoOperación
__eq__(self, other)==
__gt__(self, other)>
__ge__(self, other) >=`
__lt__(self, other)<
__le__(self, other)<=
__ne__(self, other) !=`

Nota

Para entender la nomenclatura de estos métodos, mira algunos ejemplos:

  • eq es equal.
  • gt es greater than.
  • le es less o equal.
  • ne is not equal.
12345
a = 12.3 b = 5.7 print("a >= b is", a >= b) print("a.__ge__(b) is", a.__ge__(b))
copy

Mira el ejemplo de la clase Road:

123456789101112131415161718
class Road: def __init__(self, length): self.length = length def __eq__(self, other): if isinstance(other, Road): return self.length == other.length # compare with road return self.length == other # compare with number road_1 = Road(20) road_2 = Road(30) road_3 = Road(20) print(road_1 == road_2) print(road_1 == road_3) print(road_1 == 20) print(road_1 == 20.0) print(road_1 == 1412)
copy

Nota

Para optimizar el código, puede utilizar métodos de comparación existentes. Por ejemplo, si ha implementado el método __lt__() (<), al implementar el método __ge__() (>=), puede utilizar return not (instance1 < instance2) que devolverá el resultado opuesto al operador < ya implementado.

question mark

¿Qué método mágico debe utilizarse?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 4
some-alt