Hallo,
ich bin noch relativ unerfahren im Programmieren und hoffe ich drücke mich korrekt aus.
Ich programmiere objektorientiert und möchte aus einer Klasse auf die Klassenvariablen einer anderen Klasse zugreifen.
In einem Modul sind bei mir alle Klassen und in einem anderen werden die Objekte initialisiert und mit ihnen gerechnet. Ich brauche jedoch einige der Variablen nicht nur in einer Klasse und frage mich wie ich das lösen kann.
Hier ein Beispiel:
class Expander:
def __init__(self, T_in, p_in, T_Ue, medium):
self.T_in = T_in
self.p_in = p_in
self.T_Ue = T_Ue
self.medium = medium
class Heatsource:
def __init__(self, T_in, p_in, medium):
self.Ts_in = T_in
self.ps_in = p_in
self.HS_medium = medium
def T_out(self):
T_out = self.Ts_in + Expander.T_in
return(T_out)
Für 'EXpander.T_in' suche ich den richtigen Ausdruck.
Vielen Dank für eure Hilfe!
aus einer Klasse auf eine andere Klasse zugreifen
Benutze keine Abkürzungen. Wenn Du temperature_in meinst, schreib das auch, oder pressure_in, oder temperature_???
Was soll das s dann in Ts_in, oder ps_in?
Solche kryptischen Abkürzungen machen den Code einfach nur schwierig lesbar.
Funktionsnamen sollten Tätigkeiten beschreiben und werden komplett klein geschrieben: calculate_temperature_out.
`return` ist keine Funktion, die Klammern gehören also weg.
Ich hoffe Du hast keine (und Du hast auch wirklich keine) Klassenvariablen. Du hast Instanzattribute, und um auf Instanzattribute zuzugreifen, brauchst Du auch eine Instanz von Expander und die muß auch als Argument an calculate_temperature_out übergeben werden.
Was soll das s dann in Ts_in, oder ps_in?
Solche kryptischen Abkürzungen machen den Code einfach nur schwierig lesbar.
Funktionsnamen sollten Tätigkeiten beschreiben und werden komplett klein geschrieben: calculate_temperature_out.
`return` ist keine Funktion, die Klammern gehören also weg.
Ich hoffe Du hast keine (und Du hast auch wirklich keine) Klassenvariablen. Du hast Instanzattribute, und um auf Instanzattribute zuzugreifen, brauchst Du auch eine Instanz von Expander und die muß auch als Argument an calculate_temperature_out übergeben werden.
Code: Alles auswählen
def calculate_temperature_out(self, expander):
return self.temperature_s???_in + expander.temperature_in