Hallo @__deets__
Danke für deine Antwort
Ich versuche mal deine Hilfestellung für mich zu übersetzen. Du meinst ich habe einen Gültigkeitsbereich vergessen und zwar die Instanz( Objekte,Methoden?) meiner Klasse?
Bedeutet das für mich, das ich die Definition des Player in die "def __init__" setze und dann darauf zugreife wie du in deinem Beispielcode. Hier liest du in Zeile 17 die Variable aus "def __init__" aus ? Die Referenz liegt dabei auf "wert" und wie immer auf "self".
So wie ich das verstehe ist die Ausgabe von Zeile 17: "instanz wert"
Da verstehe ich den Sinn nicht. Zu was schreibe ich "wert" in die Funktion "__init__" ?
Wenn ich deinen Code ausführen will, habe ich genau mit diesem "wert" aus "__init__" auch eine Fehlermeldung.
Also ich verstehe teilweise (hoffe ich doch), was du mir sagen willst. Für das Verständnis habe ich deinen Code kommentiert, um wieder zugeben was meiner Meinung nach, die einzelnen Codezeilen bedeuten:
globaler_wert = 2000 #Dieser Wert ist in jeder Funktion der Klasse Foo verfügbar, er wird in "def globale_variable" ausgelesen
class Foo:
def __init__(self, wert): #Was hier gemacht wird, kann ich nicht wirklich wiedergeben
self.instanz_wert = wert
def lokale_variable(self):
wert = 1000 #Die Variable "wert" hat in dieser Funktion den Inhalt "1000" kann in einer anderen
print("lokal", wert) #Funktion aber einen anderen Inhalt bekommen.
def globale_variable(self): #Es wird auf die globale Variable zugegriffen, 1. Code-Zeile
print("global", globaler_wert)
def instanz_variable(self): #Hier wird "self.instanz_wert" ausgegeben, mit dem Inhalt "wert" ?
print("instanz", self.instanz_wert)
Alles anzeigen
Was du mir ab Zeile 20 sagen willst, weis ich leider nicht wirklich
Danke und Grüße
Dennis