Ich arbeite mit einer 3rd-Party-Bibliothek, die ich neu bin. Es gibt eine Methode, die ich anrufen möchte, aber ich kann sie nicht finden. Es ist in self
... irgendwo. Es könnte sich um ein Kindattribut oder ein Kind eines Kindes handeln, oder um ein Kind eines Kindes eines Kindes - tief in self
. Aber ich kann es nicht finden. Es ist ein großer Baum, also dauert es lange, bis er gefunden ist.Wie suche ich nach einer Methode oder einem Attribut in einem Python-Objekt? (Suche alle Nachkommen)
Wie finde ich es?
Dies ist ein generisches Problem. Es kann jedem passieren, wenn er zum ersten Mal eine neue Bibliothek lernt, besonders eine komplexe. Wir alle kennen RTFM, aber manchmal ist das nicht genug. Wenn wir Zugriff auf die Quelle haben, können wir die Quelle lesen. Aber wenn die Bibliothek eine komplexe, stark dekorierte, umwickelte, umgestaltete Bibliothek des SOLID-Prinzips ist, ist das Obige möglicherweise nicht sehr fruchtbar.
Ich habe versucht, mit vars()
, dir()
und dem inspect
Modul zu vermasseln, aber bis jetzt nicht gut. Ich benutze sie wahrscheinlich falsch.
Ist die Bibliothek und ihre Quelle öffentlich verfügbar? – pvg
Ja, aber das ist ein generisches Problem, dem ich beim Versuch, eine neue Bibliothek zu lernen, sehr oft begegne. – 010110110101
Es gibt eine Bibliothek für [Schüler] (http://www.greenteapress.com/thinkpython/swampy/lumpy.html). Es funktioniert möglicherweise mit Ihren Objekten;) – Gribouillis