fork download
  1. class Sobrecarga:
  2. val = 0
  3.  
  4. def __init__(self, val):
  5. self.val = val
  6.  
  7. def __str__(self):
  8. return '{}'.format(self.val)
  9.  
  10. def __add__(self, other):
  11. if other == '+':
  12. self.val += 1
  13. else:
  14. return self.val + other
  15.  
  16.  
  17. a = Sobrecarga(1)
  18. print(a) # saida: 1
  19. a+'+' # gambi :P
  20. print(a) # saida: 2
  21. a+1 # resultado da operação não é armazenado
  22. print(a) # saida: 2
  23. print(a+1) # saida: 3
  24.  
Success #stdin #stdout 0.02s 27712KB
stdin
Standard input is empty
stdout
1
2
2
3