Флаттер - вертикальный разделитель

Python не вызывает специальные методы, те, у которых имя окружено __ экземпляром, но только на классе, по-видимому, для повышения производительности. Таким образом, нет возможности переопределить __repr__() непосредственно на экземпляре и заставить его работать. Вместо этого вам нужно сделать что-то вроде этого:

class A(object):
    def __repr__(self):
        return self._repr()
    def _repr(self):
        return object.__repr__(self)

Теперь вы можете переопределить __repr__() в экземпляре, заменив _repr().

13
задан Praveen Kumar 20 March 2018 в 15:30
поделиться