Seite 1 von 1

Variablen in gesamter Klasse benutzen

Verfasst: Montag 14. Oktober 2013, 10:30
von DiiiDiii
Hi,

der Betreff ist etwas falsch ausgedrückt, aber eigentlich passt es. Und zwar habe ich in meiner __init__ Methode eine Variable start. Diese möchte ich bei einem Klick auf einen Button verändern. Bei meinem letzten Thread hat man mich darauf hingewiesen, dass "global" in einem sauberen Programm nichts zu suchen hat. Nun suche ich nach einer Lösung wie ich diese Problem lösen kann. Hier mein Code:

Code: Alles auswählen

class Kniffel(object):
        def __init__(self):
                start = 0
                root = tk.Tk()
                if start == 1:
                        btnWuerfeln = tk.Button(root, text='Naechster Wurf').grid(row=2, column=7)
                if start == 0:
                        btnSpielStart = tk.Button(root, text='Spiel starten', command=self.spielstart).grid(row=2, column=7)
                root.mainloop()

        def spielstart(self):
                start = 1
knifel = Kniffel()
Was muss ich nun machen, damit die Variable start auch wirklich geändert wird?

Mfg

Re: Variablen in gesamter Klasse benutzen

Verfasst: Montag 14. Oktober 2013, 10:54
von EyDu
Hallo,

schau dir erstmal an wie Objektorientierung, im Allgemeinen und in Python, funktioniert. Dein Code sieht nicht danach aus, als hättest du es ansatzweise verstanden. Wenn du dich da nicht einarbeitest, dann wird deine Lösung nicht besser als mit global.

Re: Variablen in gesamter Klasse benutzen

Verfasst: Montag 14. Oktober 2013, 11:06
von mutetella
In diesem Zusammenhang habe ich gerade Why explicit self has to stay gefunden...

Nicht direkt eine Antwort auf die Frage aber sicherlich interassant zu wissen!

mutetella

Re: Variablen in gesamter Klasse benutzen

Verfasst: Montag 14. Oktober 2013, 11:08
von DiiiDiii
Ist leider schon ne Weile her, als ich OOP hatte... werds mir nochmal anschauen...