Seite 1 von 1

Eine Variable außerhalb einer Funktion verfügbar machen

Verfasst: Freitag 11. Februar 2022, 23:00
von THE_PYTHON_GUY
Hallo,

wie kann man eine Variable die innerhalb einer Funktion festgelegt wurde außerhalb jener Funktion aufrufen?

Beispiel:

Code: Alles auswählen

def function():
	var = 5
function()
print(var)
Ich weiß in diesem Beispiel kann man das mit return machen, aber in meinem Fall nicht.

THE PYTHON GUY

Re: Eine Variable außerhalb einer Funktion verfügbar machen

Verfasst: Freitag 11. Februar 2022, 23:08
von __deets__
Was ist dein Fall? Warum geht das da nicht? Wenn es hier auch um GUI Programmierung geht, dann sind im Zweifel Klassen/ Objekte die Antwort.

Re: Eine Variable außerhalb einer Funktion verfügbar machen

Verfasst: Freitag 11. Februar 2022, 23:10
von pillmuncher
Das macht man so nicht. Alles, was eine Funktion benötigt, bekommt sie als Argument übergeben. Alles, was sie berechnet, gibt sie mittels return zurück. Wenn man Zustand (Werte) und Verhalten (Funktionen) koppeln will, verwendet man Klassen:

Code: Alles auswählen

class Foo:
    def __init__(self, start_value):
        self.value = start_value
    def increase(self):
        self.value += 1

foo = Foo(123)
print(foo.value)  #  123
foo.increase()
print(foo.value)  #  124

Re: Eine Variable außerhalb einer Funktion verfügbar machen

Verfasst: Freitag 11. Februar 2022, 23:41
von THE_PYTHON_GUY
@_deets_

Ja, es geht um GUI Programmierung. Konkret um ein Texteingabefeld und die dazugehörige Variable.
Wie würde man damit Klassen "hantieren"?

Re: Eine Variable außerhalb einer Funktion verfügbar machen

Verfasst: Freitag 11. Februar 2022, 23:47
von PeterL
Hallo ich weis nicht genau was du meinst, aber ich denke das du den Befehl global verwenden solltest. Ich habe da einen Link gefunden.

https://www.w3schools.com/python/python ... global.asp

Re: Eine Variable außerhalb einer Funktion verfügbar machen

Verfasst: Samstag 12. Februar 2022, 00:17
von pillmuncher
PeterL hat geschrieben: Freitag 11. Februar 2022, 23:47 ...ich denke das du den Befehl global verwenden solltest....
Das ist genau das Gegenteil davon, was man tun sollte. global benutzt man nicht. Es gibt immer andere, bessere Wege.

Re: Eine Variable außerhalb einer Funktion verfügbar machen

Verfasst: Samstag 12. Februar 2022, 10:25
von imonbln
THE_PYTHON_GUY hat geschrieben: Freitag 11. Februar 2022, 23:41 @_deets_

Ja, es geht um GUI Programmierung. Konkret um ein Texteingabefeld und die dazugehörige Variable.
Wie würde man damit Klassen "hantieren"?
Das Texteingabefeld ist schon eine Klasse und die hat sicher eine Methode, welche den Text aus der Eingabe zurückgibt
bei tk.Text Widget wäre es get(), und wenn du ein anderes Grafik-Framework verwendest, gibt es sicher eine andere Methode, aber insgesamt haben die Entwickler da schon was vorgehen.

Code: Alles auswählen

 gesammter_Text = mytextwidget.get('1.0', tk.END)

Re: Eine Variable außerhalb einer Funktion verfügbar machen

Verfasst: Samstag 12. Februar 2022, 10:26
von Sirius3
@THE_PYTHON_GUY: hier im Forum beantwortet jeder zweite Beitrag eine Frage mit GUI, wie man das mit Klassen löst. Einfach mal stöbern.