Novo curso! Todo programador deveria aprender IA generativa!
Experimente uma aula grƔtis0
Can anyone answer me this question in Python? Thx
Why the first one no need āVector2Dā in return but the second need ? Thanks class Vector2D: def __init__(self, x): self.x = x def __truediv__(self, other): return self.x + other.x first = Vector2D(5) second = Vector2D(3) print(first/second) class Vector2D: def __init__(self, x, y): self.x = x self.y = y def __add__(self, other): return Vector2D(self.x + other.x, self.y + other.y) first = Vector2D(5, 7) second = Vector2D(3, 9) result = first + second print(result.x) print(result.y)
2 Respostas
+ 2
Because the first returns only a number. 5 + 3 - > 8
But the second one returns a new object of Vector2D. So result becomes an object of Vector2D, not only a "simple" number.
+ 1
I don't know why you are adding member <x> from two objects <self> and <others> in the __truediv__ magic method. It's supposed to return a floating point division result.
You can return a Vector2D object from the __truediv__ magic if you choose so though ...