Извинения: этот вопрос очень неясен. Я переписал это в форме, которая намного яснее, я надеюсь. См. https://stackoverflow.com/questions/54066737. Я действительно хотел удалить этот вопрос, но система посоветовала мне не делать этого.
Я борюсь с определением __repr__()
в моем классе. У меня есть член класса self.lbl
, который может быть пустой строкой '' или строкой из одного символа 'a' или именем функции. Мой ошибочный код
def __repr__(self):
lbl = self.lbl
if isinstance(lbl,str) and len(lbl) <= 1:
out = "'" + lbl + "'"
elif type(lbl).__name__ == 'function':
out = repr(lbl.__name__)
return out
Предположим, что f
является определенной функцией, и я пишу x=f
. Затем я хочу извлечь информацию f
из MyClass(x)
, а print(MyClass(x))
должен просто дать мне f
, а не 'f'