Будучи усталым, вручную применяя строковое представление для моих классов, мне было интересно, есть ли питонический способ сделать это автоматически.Есть ли способ автоматически генерировать реализацию __str __() в python?
Я хотел бы получить вывод, который охватывает все атрибуты класса и имени класса. Вот пример:
class Foo(object):
attribute_1 = None
attribute_2 = None
def __init__(self, value_1, value_2):
self.attribute_1 = value_1
self.attribute_2 = value_2
Результирующее в:
bar = Foo("baz", "ping")
print(str(bar)) # desired: Foo(attribute_1=baz, attribute_2=ping)
Этот вопрос пришел в голову после того, как с помощью Project Ломбок @ToString в некоторых проектах Java.
Что Проект Ломбок делает для Java? –
Сокращение кода котла. Посмотрите здесь: https://projectlombok.org/features/index.html –
Собственно, «сокращение кода шаблона» ничего не значит. Ломбок занимается конкретными проблемами Java. Бесполезно искать «аналогичный» инструмент, лучше попросить что-то более конкретное. –