Встречается на собеседованиях • сегодня

Чем отличаются str и repr

Функции `str()` и `repr()` используются для получения строкового представления объектов, но они служат разным целям и работают по-разному.Функция `str()`
Предназначена для получения "приятного" строкового представления объекта, которое может быть представлено пользователю. Она старается сделать строку более читабельной и понятной. Если метод `__str__()` не определен в классе объекта, использует метод `__repr__()` как запасной вариант.

text
```python
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f"{self.name}, возраст {self.age} лет"

person = Person("Иван", 30)
print(str(person))  # Вывод: Иван, возраст 30 лет
```

Функция `repr()`
Предназначена для получения официального строкового представления объекта, которое может быть использовано для воссоздания того же объекта при помощи интерпретатора. `repr()` должна быть максимально точной и содержать информацию о всех атрибутах объекта. Результат `repr()` часто используется для отладки и разработки, так как он дает больше деталей о объекте.

text
```python
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Person('{self.name}', {self.age})"

person = Person("Иван", 30)
print(repr(person))  # Вывод: Person('Иван', 30)
```

Основные отличия

  • Цель: `str()` используется для удобочитаемого представления объекта, а `repr()` — для точного и однозначного представления, часто с целью отладки или журналирования.
  • Вывод: `str()` старается быть читабельным; `repr()` — точным и полным, позволяя воссоздать объект при помощи его вывода в интерпретаторе Python.

`str()` делает описание объекта понятным и красивым для людей. `repr()` делает описание точным и полным, чтобы программисты могли понять все детали объекта или даже воссоздать объект по этому описанию.

May 22, 2024, easyoffer

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы