2016-09-11 3 views
0

Ich habe ein Attribut namens Sitzung, die auf 1 gesetzt ist. In changeSession() versuche ich, den Wert auf 2 zu ändern. Im letzten Schritt wird Sitzung gedruckt und es ist noch 1. Sie können den folgenden Code sehen. Sie folgendermaßen vorgehen würde uns den Wert 2 drucken machen:Chnage-Wert außerhalb der Funktion ohne Rückgabe eines Wertes - Python

  • session = changeSession()
  • lassen changeSession() geben den neuen Sitzungswert.

    Ist es jedoch möglich, den Wert 2 gedruckt zu bekommen, ohne dass changeSession() irgendetwas zurückgeben kann?

Der Code:

session=1 

def set_session(s): 
    session=s 

def changeSession(): 
    set_session(2) 

changeSession() 
print session 
+0

Mögliche Duplikat [? Wie gebe ich eine Variable durch Verweis] (http://stackoverflow.com/questions/986006/how-do-i-pass-a-variable -nach Referenz) –

Antwort

0

Um das zu tun nur global session in set_session verwenden, um Python, um anzuzeigen, dass Sie die Sitzung verwenden möchten, die Sie außerhalb des Funktionsumfangs definiert. Wenn Sie sich selbst über dieses Verhalten dokumentieren wollen, heißt es Variablenbereich. Hier ist der feste Code:

session=1 

def set_session(s): 
    global session 
    session=s 

def changeSession(): 
    set_session(2) 

changeSession() 
print session 
Verwandte Themen