2016-07-08 4 views
-1

von Javascript zu Python gehen wirklich bedeutet nur, dass Umfang ist Satan reinkarniert.Python: Bitte helfen Sie verstehen mich diesen Bereich Ausgabe

Mit diesem Code, alles ist in Ordnung:

a = 10 

def elFunction(): 
    print a 
    if (4 > 2): 
     print a 

elFunction() 

Mit diesem Code, ich sterbe ein wenig nach innen

a = 10 

def elFunction(): 
    a += 1 
    if (4 > 2): 
     print a 

elFunction() 

Warum dieser Code einen Fehler ziehen?

+3

Sie nicht 'global a' in Ihrer Funktion deklariert haben, so dass Sie es nicht ändern können. Siehe z.B. https://infohost.nmt.edu/tcc/help/pubs/python/web/global-statement.html – kindall

Antwort

3

Machen Sie Ihre a eine globale Variable:

a = 10 

def elFunction(): 
    # Specify that a is global 
    global a 
    a += 1 
    if (4 > 2): 
     print a 

elFunction() 

Dieser druckt 11

Verwandte Themen