Junior — Middle
79
Python-да __str__ және __repr__ әдістерінің мақсаты неде және олар қалай ерекшеленеді?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Python-да __str__ және __repr__ әдістері объектінің жолдық көрінісін алу үшін қолданылады, бірақ олардың әрқайсысының мақсаты әртүрлі:
-
__repr__объектінің ресми жолдық көрінісін алуға арналған, ол ең ақпаратты болуы керек және мүмкін болса, объектіні қайта құру үшін пайдалануға болатын (мысалы,evalарқылы). Егер бұл мүмкін болмаса, пайдалы ақпаратпен жол қайтарылады. -
__str__пайдаланушыға ыңғайлы, "әдемі" көрінісін алуға арналған.
Егер __str__ анықталмаса, Python __repr__-ды резервтік нұсқа ретінде пайдаланады.
Мысал:
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return f"Point({self.x}, {self.y})"
def __str__(self):
return f"({self.x}, {self.y})"
p = Point(1, 2)
print(repr(p)) # Нәтиже: Point(1, 2)
print(str(p)) # Нәтиже: (1, 2)
Осылайша, __repr__ — әзірлеушілер мен қателерді түзету үшін, __str__ — пайдаланушылар үшін арналған.