MoOinsen!
Wie kann ich Werte eines Python-Moduls direkt an ein anderes übergeben?
Wir brauchen das dazu, um statistische Berechnungen grafisch mittels eines anderen Moduls aufzubereiten. Die Berechnungen klappen, die grafische Ausgabe ebenfalls. Nun fehlt nur noch die "Verbindung" beider.
Habe dazu leider noch nichts finden können...
mfG
Werte eines anderen Python-Moduls übernehmen/geben?
Hallo!
Eigentlich bieten sich 3 Möglichkeiten an:
1.
Das Grafikmodul importiert das Statistikmodul. Das bietet sich zumindest dann an, wenn das Grafikmodul sowieso für nichts anderes zu gebrauchen ist, als für die Darststellung von Daten genau dieses Statistikmoduls.
2.
Falls die Statistik in einer Klasse gekapselt ist, könnte man von dieser Klasse eine neue Klasse ableiten, die dann um die Grafikfähigkeit erweitert wird. Wird aber wohl seltener zum Einsatz kommen.
3.
Ein drittes Modul, das beiden Module importiert. Bietet sich an, wenn die beiden Module relativ eigenständig sind. Die Statistik wird ja völlig eigenständig sein, aber auch das Grafikmodul kann ja sehr universell gestaltet sein, so das es auch andere Datenquellen nutzen kann. Sehr von Vorteil wäre es dann natürlich, wenn sowohl die Statistikberechnung als auch die graf. Darstellung in Klassen gekapselt sind (muss aber nicht sein). Beispiel:
hth
Jan
Das ist eine Design-Frage, die man nur sehr spekulativ beantworten kann, ohne genaue Kenntnisse Eurer Module und dem Drumherum. Wie sieht es in den Modulen aus? Liegt dort prozedualer Code 'offen' rum? Oder ist alles in Funktionen gekapselt? Oder ist alles in Klassen gekapselt? Letzteres wäre natürlich ideal.Gotch@ hat geschrieben:Nun fehlt nur noch die "Verbindung" beider.
Eigentlich bieten sich 3 Möglichkeiten an:
1.
Das Grafikmodul importiert das Statistikmodul. Das bietet sich zumindest dann an, wenn das Grafikmodul sowieso für nichts anderes zu gebrauchen ist, als für die Darststellung von Daten genau dieses Statistikmoduls.
2.
Falls die Statistik in einer Klasse gekapselt ist, könnte man von dieser Klasse eine neue Klasse ableiten, die dann um die Grafikfähigkeit erweitert wird. Wird aber wohl seltener zum Einsatz kommen.
3.
Ein drittes Modul, das beiden Module importiert. Bietet sich an, wenn die beiden Module relativ eigenständig sind. Die Statistik wird ja völlig eigenständig sein, aber auch das Grafikmodul kann ja sehr universell gestaltet sein, so das es auch andere Datenquellen nutzen kann. Sehr von Vorteil wäre es dann natürlich, wenn sowohl die Statistikberechnung als auch die graf. Darstellung in Klassen gekapselt sind (muss aber nicht sein). Beispiel:
Code: Alles auswählen
from statistikModule import statistikKlasse
from grafikModule import grafikKlasse
...
statObj = statistikKlasse(...)
...
grafObj = grafikKlasse(...)
grafObj.SetData( statObj.GetData() )
grafObj.Draw(...)
...
Jan
Ich hab mich vorerst einmal für die erste Variante entschieden, also Import des Statistik-Moduls im Grafikmodul. Funktioniert!
Das mit den Klassen wäre wahrscheinlich eleganter, aber mit Python kenne ich mich bis jetzt noch nicht allzu gut aus. Aber das kann ja noch werden...
mfG
Das mit den Klassen wäre wahrscheinlich eleganter, aber mit Python kenne ich mich bis jetzt noch nicht allzu gut aus. Aber das kann ja noch werden...
mfG