Python programmieren Attribut error

...komplette Frage anzeigen

2 Antworten

class Klasse(): def Funktion(self): self.variable = True Klasse().Funktion2() # hier muss es self.Funktion2() heißen ! def Funktion2(self): print(self.variable) #fehler : Nein, dies ist OKKlasse().Funktion() # sehr ungewöhnlichNormalerweise ist eine Klasse ein Bauplan für Objekte dieser Klasse,also MeineKlasse= Klasse()....MeinKlasse.Funktion()Wenn du 'Klasse().Funktion()' aufrufst, erzeugt 'Klasse()' nur temporärein Klassen-Objekt, dessen 'Funktion' es dann ruft. Danach wird dieses Objekt sofort wieder zerstört, was in den allermeisten Fällen keinen Sinn macht.Auf Variable und Funktionen innerhalb einer Klassen-Definition greift manimmer mittels 'self.' zu.

Könntest du deinen Code hier reinposten?

Python25 19.05.2017, 17:26

BEISPIEL:

class Klasse():

    def Funktion(self):

        self.variable = True

        Klasse().Funktion2()

    def Funktion2(self):

          print(self.variable)    #fehler

Klasse().Funktion()

0
HylianGamer 19.05.2017, 18:06
@Python25

Du hast ja nirgendwo variable definiert.

Du rufst self.variable auf, dafür muss aber in der Klasse ja diese variable "variable" exisistieren. Daher auch "has no attribute 'variable". Der Interpreter findet keine variable namens "variable".

0

Was möchtest Du wissen?