Можно ли отображать переменные экземпляра объекта в IPython, как это делает Matlab?

Я пытаюсь перейти от Matlab к Python. Пока магия? в IPython это хорошо, одна очень приятная особенность Matlab состоит в том, что вы можете видеть в командной строке (опуская;) переменные экземпляра (называемые свойствами в Matlab) рассматриваемого объекта. Возможно ли это в Python (я думаю, через IPython)?

В идеале такой класс:

class MyClass(object):
    _x = 5

    @property
    def x(self):
        return self._x + 100

    @x.setter
    def x(self, value):
        self._x = value + 1

    def myFunction(self, y):
        return self.x ** 2 + y

Будет отображать что-то вроде:

mc = Myclass()
mc
  

Attributes:
_x: 5
 x: 105

Method Attributes:
myFunction(self, y)

Это возможно через переопределение метода печати (если такая вещь выходит) класса? Или с помощью магического метода в ipython?

Ответы на вопрос(3)

Ваш ответ на вопрос