Как вывести значение вместо адреса объекта в памяти?

В языке программирования Python каждый объект имеет свой уникальный адрес в памяти. По умолчанию, при выводе объекта на экран, Python отображает его адрес. Однако, иногда требуется вывести значение, которое содержится в объекте, а не его адрес.

Для того чтобы вывести значение объекта вместо адреса, можно использовать различные способы в зависимости от типа объекта.

Для простых типов данных, таких как числа, строки и логические значения, значение объекта можно вывести простым образом, используя функцию "print()" или конкатенацию строк. Например:

number = 42
print(number)  # Выведет значение 42

string = "Hello, world!"
print(string)  # Выведет строку "Hello, world!"

boolean = True
print(boolean)  # Выведет значение True

Для вывода значения объектов, которые являются экземплярами пользовательских классов, можно использовать специальный метод "str()", который должен быть определен в классе. Метод "str()" возвращает строковое представление объекта, которое будет использоваться при вызове функции "print()". Например:

class Person:
    def __init__(self, name):
        self.name = name

    def __str__(self):
        return self.name

person = Person("John")
print(person)  # Выведет строку "John"

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

Другой способ вывести значение объекта вместо адреса - использовать форматирование строк с помощью метода "format()". Например:

number = 42
print("Значение числа: {}".format(number))  # Выведет строку "Значение числа: 42"

Также, для некоторых типов объектов есть специальные методы, которые позволяют выводить значение объекта вместо адреса. Например, для объектов типа "datetime.datetime" можно использовать метод "isoformat()", который возвращает строковое представление даты и времени в формате ISO 8601.