dunder_task.py 736 B

123456789101112131415161718192021222324252627282930313233343536
  1. class Vector:
  2. def __init__(self, x, y):
  3. self.x = x
  4. self.y = y
  5. def __add__(self, other):
  6. if isinstance(other, Number):
  7. return Vector(self.x + other.value, self.y + other.value)
  8. def __str__(self):
  9. return f"Vector({self.x},{self.y})"
  10. class Number:
  11. def __init__(self, value) -> None:
  12. self.value = value
  13. def __radd__(self, other):
  14. if isinstance(other, Vector):
  15. return Number(other.x + other.y + self.value)
  16. def __str__(self) -> str:
  17. return f"Number({self.value})"
  18. def main():
  19. v = Vector(2, 3)
  20. num = Number(5)
  21. print(num + v)
  22. if __name__ == '__main__':
  23. main()