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.
python3
Python 3.7.10 (default, Feb 26 2021, 15:35:19)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> class ethanol:
... self.Ah=1232785
... self.Bh=0.32297
... self.Ch=0.037345
... self.Dh=-0.042848
... self.Eh=0.018252
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in ethanol
NameError: name 'self' is not defined
bitte verwende keine so gar nichts sagende Abkürzungen. Wähle immer sprechende Namen. Funktionsnamen sollten beschreiben was die Funktion macht. Diese schreibt man auch klein_mit_unterstrich, so wie andere Namen auch. Ausgenommen sind Konstanten die schreibt man GANZ_GROSS und Klassen schreibt man in CamelCase-Schreibweise.
Kannst du bitte den vollständigen Code am Stück posten?
Ich kann deinen Fehler so nicht nachstellen bzw. wenn ich deinen Code ausprobiere erhalte ich andere Fehlermeldungen.
Die Einrückungen in deiner Klasse stimmen nicht, es wird immer mit vier Leerzeichen eingerückt.
Zum Rest will ich so jetzt noch nichts sagen, da ich nicht weis wie der vollständige Code aussieht.
"When I got the music, I got a place to go" [Rancid, 1993]
@snjackshot: Wenn man sich die Funktion mal etwas lesbarer formatiert, macht das irgendwie den Eindruck, dass B, C, D, E eventuell eine Liste sein sollten:
def FdhLV(TinC, struktur):
faktor = (TinC + 273.15) / struktur.Tkrit
return (
0
if faktor > 1
else (
struktur.Ah
* (1 - faktor)
** sum(
value * faktor ** i for i, value in enumerate(struktur.BCDEh)
)
)
/ 1000
)
“Ich bin für die Todesstrafe. Wer schreckliche Dinge getan hat, muss eine angemessene Strafe bekommen. So lernt er seine Lektion für das nächste Mal.” — Britney Spears, Interview in der französischen Zeitung Libération, 2. April 2002