Чтобы создать собственное строковое представление для объекта класса в Python, вы можете переопределить методы __str__()или __repr__()класса. Эти методы позволяют вам определить, как объект должен быть представлен в виде строки при использовании встроенных функций str()или repr()соответственно или когда объект распечатано.
Вот пример реализации пользовательского строкового представления с помощью метода __str__():
class MyClass:
def __init__(self, value):
self.value = value
def __str__(self):
return f"MyClass(value={self.value})"
obj = MyClass(42)
print(obj) # Output: MyClass(value=42)
В этом примере метод __str__()переопределяется и возвращает строковое представление объекта в нужном формате.
В качестве альтернативы вы можете переопределить метод __repr__()для достижения аналогичного результата. Метод __repr__()должен возвращать строку, представляющую допустимое выражение Python, которое можно использовать для воссоздания объекта.
Вот пример использования метода __repr__():
class MyClass:
def __init__(self, value):
self.value = value
def __repr__(self):
return f"MyClass(value={self.value})"
obj = MyClass(42)
print(repr(obj)) # Output: MyClass(value=42)
Оба метода __str__()и __repr__()могут быть реализованы в классе, но они служат разным целям. __str__()предназначен для предоставления удобного строкового представления, а __repr__()используется для создания однозначного представления объекта.
(), repr ()