Hilfe mit einem Python-Paket

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pyhill00
User
Beiträge: 30
Registriert: Mittwoch 20. März 2019, 22:39

Hallo zusammen,

mein Python-Niveau ist okay aber habe gerade Schwierigkeiten ein Paket nachzuvollziehen:

https://github.com/lneuhaus/pyrpl/tree/master/pyrpl

https://pyrpl.readthedocs.io/en/latest/

Das Paket ist schwierig zu verstehen aber ich bin motiviert, es doch zu schaffen. Das Problem ist, dass ich nicht weiß, was ich lernen muss, um das Paket besser zu verstehen. Ich habe schon angefangen Sachen nachzuschlagen und ich versuche Schritt für Schritt die Sachen zu verstehen aber ich habe das Gefühl, dass mir mehr Wissen fehlt und ich weiß nicht was ich genau lesen sollte, um das Paket zu verstehen. Klar kann man alles mögliches vom Paket nachschlagen aber so viel Zeit gibt es nicht. Mein Plan ist das Paket zu benutzen und hoffentlich auch in der Zukunft das Paket weiter zu entwickeln. Ich versuche jetzt nur modules.py, hardware_modues/ und software_modules zu verstehen.

Ich würde mich auf Hilfe freuen. Tipps oder Empfehlungen worüber ich nachlesen sollte, wären ganz nett. Falls jemand Lust hat, bin ich auch daran interessiert, wenn wir das Paket über discord reden können.
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du willst ein Paket erklärt haben, das sich an Quanten-Physiker wendet? Dann muss du wohl Quanten-Physik mit
Schwerpunkt Quanten-Optik lernen.
pyhill00
User
Beiträge: 30
Registriert: Mittwoch 20. März 2019, 22:39

Du...du meinst das nicht ernst oder? Um das Paket zu verstehen, braucht man nichts über Quantenphysik zu verstehen bzw. zu wissen. Hast du sogar den Code angeguckt?
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

die Frage ist ein bisschen strange... du verstehst was nicht, aber wir sollen verstehen, was du nicht verstehst?

Grundsätzlich sollte der Python-Code ja verständlich sein, wenn du

a) alle darin vorkommenden Befehl kennst
b) verstehst, welche Klasse / Funktion was macht
c) nachvollziehen kannst, welche Algorithmen warum verwendet werden

Ich habe gerade nur kurz in den Code geschaut, da wird - zumindest in der Sektion, die ich angeschaut habe - stark mit Nebenläufigkeit gearbeitet. Also solltest du die Konzepte von Python zur Nebenläufigkeit auch verstanden haben.

Insgesamt ist das PyRPL. aber sicherlich kein einfacher Stoff. Sprich: du wirst Zeit brauchen. Selbst dann, wenn du (sehr) gut Python könntest.

Gruß, noisefloor
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@pyhill00: naja, wenn man die Funktionsweise eines Codes verstehen will, ist es schon nützlich, zu verstehen, was der Code eigentlich machen soll. Sonst bleibt das alles sehr abstrakt.

Was verstehst Du denn konkret nicht?
Allgemein, nimm die Python-Dokumentation und lies die Stellen nach, wo Stichworte vorkommen, die Du im Code nicht verstehst.
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Zu verstehen WARUM eine Software etwas macht, hilft durchaus. Ansonsten ist das halt eine komplexe (und ungewöhnlich gut geschriebene) Qt Anwendung. Also schau dir PyQt an. Und Qt. Denn ersteres versteht man nur durch letzteres.
pyhill00
User
Beiträge: 30
Registriert: Mittwoch 20. März 2019, 22:39

noisefloor hat geschrieben: Donnerstag 21. März 2019, 07:42
Also solltest du die Konzepte von Python zur Nebenläufigkeit auch verstanden haben.

Insgesamt ist das PyRPL. aber sicherlich kein einfacher Stoff. Sprich: du wirst Zeit brauchen. Selbst dann, wenn du (sehr) gut Python könntest.
Danke. Das ist im wesentlichen was ich wissen wollte. Ich weiß nicht, was ich gerade nicht weiß und du hast den Code kurz angeschaut und hast gewusst, dass man Nebenläufigkeit verstehen muss. Kannst du andere Themen empfehlen? Und deinem letzten Satz: kannst du irgendwelche Bücher oder Webseite empfehlen, die man eine sehr gute Python-Kenntnis bekommen kann? Wie gesagt, mein Niveau ist okay und muss halt mehr in die Tiefe gehen.
pyhill00
User
Beiträge: 30
Registriert: Mittwoch 20. März 2019, 22:39

Sirius3 hat geschrieben: Donnerstag 21. März 2019, 07:56 @pyhill00: naja, wenn man die Funktionsweise eines Codes verstehen will, ist es schon nützlich, zu verstehen, was der Code eigentlich machen soll. Sonst bleibt das alles sehr abstrakt.

Was verstehst Du denn konkret nicht?
Allgemein, nimm die Python-Dokumentation und lies die Stellen nach, wo Stichworte vorkommen, die Du im Code nicht verstehst.
Der Code hat mit Digitalem Signalprozessor zu tun und der kann für Quantenphysik-Experimente benutzt werden aber an sich hat pyrpl nichts mit Quantenphysik zu tun. So ja man sollte verstehen wie zB ein PID (proportional–integral–derivative controller) oder ein Oszilloskop funktionieren.

Die Dokumentation habe ich schon gelesen. Konkret: Ich verstehe nicht wie alles zusammenhängt und wofür manche Klassen nötig sind und was sie überhaupt machen wenn zB eine Parentklasse Qtcore ist.
pyhill00
User
Beiträge: 30
Registriert: Mittwoch 20. März 2019, 22:39

__deets__ hat geschrieben: Donnerstag 21. März 2019, 09:36 Zu verstehen WARUM eine Software etwas macht, hilft durchaus. Ansonsten ist das halt eine komplexe (und ungewöhnlich gut geschriebene) Qt Anwendung. Also schau dir PyQt an. Und Qt. Denn ersteres versteht man nur durch letzteres.
Ja ich lese die schon durch. Ich finde der Code auch gut geschrieben. Hast du andere Empfehlungen?
Benutzeravatar
__blackjack__
User
Beiträge: 13103
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@pyhill00: „Wie alles zusammenhängt“ ist keine konkrete Frage. Und eine Elternklasse `QtCore` wird es wohl nirgends geben, denn soweit ich weiss gibt es keine solche Klasse. Es gibt ein Modul mit dem Namen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
pyhill00
User
Beiträge: 30
Registriert: Mittwoch 20. März 2019, 22:39

Ja ich wollte nicht alles nachgucken. Die Klasse ist QtCore.Qobject. War nur ein Beispiel...
Benutzeravatar
__blackjack__
User
Beiträge: 13103
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@pyhill00: Eben, nur ein allgemeines Beispiel und keine konkrete Frage die man konkret beantworten könnte. Denn bei `QObject` kann man halt auch nur so allgemein antworten, dass man davon erbt, weil man etwas vom Verhalten davon in einem abgeleiteten Typ benötigt.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
pyhill00
User
Beiträge: 30
Registriert: Mittwoch 20. März 2019, 22:39

Alter...lies den ersten Post nochmal...
Benutzeravatar
__blackjack__
User
Beiträge: 13103
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@pyhill00: Okay, habe ich gemacht. Es bleibt dabei: ohne konkretere Fragen, kann man halt keine konkreteren Antworten geben. Wenn Du das komplett verstehen willst, musst Du Dir die Zeit nehmen alles nachzuschlagen was Du nicht verstehst. Ich wüsste nicht wie man das abkürzen kann. Weder Du selbst, noch wir, ohne zu wissen was die *konkreten* Fragen sind, die sich Dir da stellen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Und was QObject macht [sic!], findet man heraus indem man die entsprechende Dokumentation liest.
Antworten