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?