Python Dunder Methods __repr__ e __str__
This commit is contained in:
25
aula147.py
25
aula147.py
@@ -1,4 +1,4 @@
|
|||||||
# Teoria: python Special Methods, Magic Methods ou Dunder Methods
|
# Python Dunder Methods __repr__ e __str__
|
||||||
# Dunder = Double Underscore = __dunder__
|
# Dunder = Double Underscore = __dunder__
|
||||||
# Antigo e útil: https://rszalski.github.io/magicmethods/
|
# Antigo e útil: https://rszalski.github.io/magicmethods/
|
||||||
# https://docs.python.org/3/reference/datamodel.html#specialnames
|
# https://docs.python.org/3/reference/datamodel.html#specialnames
|
||||||
@@ -15,3 +15,26 @@
|
|||||||
# __neg__(self) - -self
|
# __neg__(self) - -self
|
||||||
# __str__(self) - str
|
# __str__(self) - str
|
||||||
# __repr__(self) - str
|
# __repr__(self) - str
|
||||||
|
class Ponto:
|
||||||
|
def __init__(self, x, y, outra='Nada'):
|
||||||
|
self.x = x
|
||||||
|
self.y = y
|
||||||
|
self.outra = outra
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f'Ponto - {self.x}, {self.y}'
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f'Ponto(x={self.x!r}, y={self.y!r}, outra={self.outra!r})'
|
||||||
|
|
||||||
|
|
||||||
|
p1 = Ponto(1, 2)
|
||||||
|
p2 = Ponto(90, 43)
|
||||||
|
p2_str = str(p2)
|
||||||
|
print(p1)
|
||||||
|
print(p2)
|
||||||
|
print()
|
||||||
|
print(repr(p1))
|
||||||
|
print(repr(p2))
|
||||||
|
print()
|
||||||
|
print(f'{p1!r}')
|
||||||
|
|||||||
Reference in New Issue
Block a user