Der Unterschied zwischen globalen Variablen und lokalen Variablen in Python (detaillierte Codeerklärung)

藏色散人
Freigeben: 2019-03-16 16:37:33
Original
5929 Leute haben es durchsucht

Der Unterschied zwischen globalen Variablen und lokalen Variablen in Python (detaillierte Codeerklärung)

Globale Variablen sind Variablen, die außerhalb der Funktion definiert und deklariert werden und wir müssen sie innerhalb der Funktion verwenden.

#这个函数使用全局变量s
def f():  
    print s  
  
# 全局作用域
s = "I love Python"
f()
Nach dem Login kopieren

Ausgabe:

I love Python
Nach dem Login kopieren

Wenn eine Variable mit demselben Namen innerhalb eines Funktionsbereichs definiert ist, wird anstelle des globalen Werts nur der in der Funktion angegebene Wert ausgegeben.

# 这个函数有一个与s同名的变量。
def f():  
    s = "Me too."
    print s  
  
# 全局作用域
s = "I love Python" 
f() 
print s
Nach dem Login kopieren

Ausgabe:

Me too
I love Python
Nach dem Login kopieren

Bevor wir die Funktion f() aufrufen, wird die Variable s als String „I love Python“ definiert. Die einzige Anweisung in f() ist die „print s“-Anweisung. Da es keine lokalen s gibt, wird der Wert globaler s verwendet.

Die Frage ist, was passiert, wenn wir den Wert von s innerhalb der Funktion f() ändern? Wird es die Gesamtsituation beeinflussen?

Wir testen es im folgenden Code:

def f():  
    print s 
  
    # 如果我们在下面评论,这个程序不会显示错误。
    s = "Me too."
  
    print s 
  
#全局作用域
s = "I love Python" 
f() 
print s
Nach dem Login kopieren

Ausgabe:

Line 2: undefined: Error: local variable 's' referenced before assignment
Nach dem Login kopieren

Damit das obige Programm funktioniert, müssen wir das Schlüsselwort „global“ verwenden. Wenn wir sie zuweisen/ändern möchten, müssen wir nur das globale Schlüsselwort in der Funktion verwenden. Für das Drucken und Zugreifen sind keine Globals erforderlich.

Python „geht davon aus“, dass wir aufgrund der Zuweisung in f() eine lokale Variable benötigen, sodass die erste print-Anweisung diese Fehlermeldung auslöst. Jede innerhalb einer Funktion geänderte oder erstellte Variable ist lokal, sofern sie nicht als globale Variable deklariert wurde. Um Python mitzuteilen, dass wir globale Variablen verwenden möchten, müssen wir das Schlüsselwort „global“

verwenden, wie im folgenden Beispiel gezeigt:

# 这个函数修改全局变量's' 
def f(): 
    global s 
    print s 
    s = "Look for Python"
    print s  
  
#全局作用域
s = "Python is great!" 
f() 
print s
Nach dem Login kopieren

Ausgabe:

Python is great!
Look for Python.
Look for Python.
Nach dem Login kopieren

A nice Beispiel:

a = 1
  
# 使用global,因为没有本地'a' 
def f(): 
    print 'Inside f() : ', a 
  
#变量“a”被重新定义为局部变量
def g():     
    a = 2
    print 'Inside g() : ',a 
  
#使用全局关键字修改全局'a'
def h():     
    global a 
    a = 3
    print 'Inside h() : ',a 
  
# 全局作用域
print 'global : ',a 
f() 
print 'global : ',a 
g() 
print 'global : ',a 
h() 
print 'global : ',a
Nach dem Login kopieren

Ausgabe:

global :  1
Inside f() :  1
global :  1
Inside g() :  2
global :  1
Inside h() :  3
global :  3
Nach dem Login kopieren

Verwandte Empfehlungen: „Python Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen globalen Variablen und lokalen Variablen in Python (detaillierte Codeerklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage