Можно ли отключить печать идентификатора (шестигранный адрес) во всем мире для объектов Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли отключить печать идентификатора (шестигранный адрес) во всем мире для объектов Python?

Сообщение Anonymous »

Когда вы не предоставляете метод __repr __ или __str __ на пользовательском классе, вы просто получаете классное имя и адрес Python объекта (или, чтобы быть более конкретным, что идентификатор (Self) возвращает. Визуально. Отпечатки.

Код: Выделить всё

class ILookDifferentEveryRun:
"baseline behavior"

def __init__(self,a):
"I don't actually care about `a`, that's why I don't need a `repr`"
self.a = a

class ILookTheSameEveryRun(ILookDifferentEveryRun):
"""this is my workaround, a cut and paste of a default __repr__"""

def __repr__(self) : return type(self).__name__

class ILookAlmostLikeBuiltinRepr(ILookDifferentEveryRun):
"can I do this with a global switch?"

def __repr__(self) :
"""this is more or less what I want"""
res = f" at "
return res

inst1 = ILookDifferentEveryRun(a=1)
inst2 = ILookTheSameEveryRun(a=1)
inst3 = ILookAlmostLikeBuiltinRepr(a=1)

print(inst1)
print(inst2)
print(inst3)
< /code>
запустить дважды: < /p>

ILookTheSameEveryRun
 at 
< /code>

ILookTheSameEveryRun
 at 
< /code>
I took a look at the startup flags for the python interpreter, but nothing seems to allow for this.  Any workarounds?  I know I could also put the repr on a Mixin and reuse that everywhere, but that's ugly too.
If I can't, that's fine and that's what I am expecting to hear.  Just wondering if someone else had the same problem and found a way.
p.s. this is less about dedicated printing of instances and more about things like print(mylist)
где mylist = [item1, item2, item3] , как правило, любые сложные структуры данных с вложенными элементами в них.

Подробнее здесь: https://stackoverflow.com/questions/795 ... python-obj
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Я хочу передать шестигранный цветовой код в встроенный стиль CSS на HTML -странице [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как установить CLI на основе Python из Venv во всем мире?
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как установить CLI на основе Python из Venv во всем мире?
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Какая компания в Бангладеш и во всем мире использует кроссплатформенную Java-инфраструктуру Codename one? [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Дублирование команд при синхронизации с гильдией и во всем мире.
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»