Можно ли отображать переменные экземпляра объекта в 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?