Ist es möglich, eine Objektinstanzvariable in IPython anzuzeigen, wie es Matlab tut?

Ich versuche, mich von Matlab zu Python zu entfernen. Während der Magie? in IPython ist nett, eine sehr nette Eigenschaft von Matlab ist, dass Sie in der Befehlszeile (durch Weglassen des;) die Instanzvariablen (in Matlab Eigenschaften genannt) des betreffenden Objekts sehen können. Ist das in Python möglich (ich denke über IPython)?

Idealerweise eine Klasse wie diese:

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

Würde etwa anzeigen:

mc = Myclass()
mc
<package.MyClass> <superclass1> <superclass2>

Attributes:
_x: 5
 x: 105

Method Attributes:
myFunction(self, y)

Ist das durch Überschreiben der Druckmethode (wenn so etwas existiert) der Klasse möglich? Oder über eine magische Methode in Ipython?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage