Имагик и Лигатуры

Более красивая версия ответа от пользователя @ user394430

class Element:
    def __init__(self, name, symbol, number):
        self.name = name
        self.symbol = symbol
        self.number = number

    def __str__(self):
        return  str(self.__class__) + '\n'+ '\n'.join(('{} = {}'.format(item, self.__dict__[item]) for item in self.__dict__))

elem = Element('my_name', 'some_symbol', 3)
print(elem)

Производит визуально приятный список имен и значений.

<class '__main__.Element'>
name = my_name
symbol = some_symbol
number = 3

Сортировка даже более благоприятной версии (спасибо Ruud) пункты:

def __str__(self):
    return  str(self.__class__) + '\n' + '\n'.join((str(item) + ' = ' + str(self.__dict__[item]) for item in sorted(self.__dict__)))
0
задан Jeremy 18 January 2019 в 16:15
поделиться