Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python Globale, lokale und nicht lokale Variablen

Globale, lokale und nicht lokale Python-Variablen

In diesem Tutorial erfahren Sie mehr über globale Python-Variablen, lokale Variablen, nicht lokale Variablen und wo sie verwendet werden.

Video:Lokale und globale Python-Variablen

Globale Variablen

In Python wird eine außerhalb der Funktion oder im globalen Gültigkeitsbereich deklarierte Variable als globale Variable bezeichnet. Das bedeutet, dass auf eine globale Variable innerhalb oder außerhalb der Funktion zugegriffen werden kann.

Sehen wir uns ein Beispiel an, wie eine globale Variable in Python erstellt wird.

Beispiel 1:Erstellen Sie eine globale Variable

x = "global"

def foo():
    print("x inside:", x)


foo()
print("x outside:", x)

Ausgabe

x inside: global
x outside: global

Im obigen Code haben wir x erstellt als globale Variable und definierte einen foo() um die globale Variable x auszugeben . Schließlich nennen wir die foo() was den Wert von x ausgibt .

Was ist, wenn Sie den Wert von x ändern möchten innerhalb einer Funktion?

x = "global"

def foo():
    x = x * 2
    print(x)

foo()

Ausgabe

UnboundLocalError: local variable 'x' referenced before assignment

Die Ausgabe zeigt einen Fehler, weil Python x behandelt als lokale Variable und x ist auch nicht innerhalb von foo() definiert .

Damit das funktioniert, verwenden wir den global Stichwort. Besuchen Sie Python Global Keyword, um mehr zu erfahren.


Lokale Variablen

Eine im Rumpf der Funktion oder im lokalen Gültigkeitsbereich deklarierte Variable wird als lokale Variable bezeichnet.

Beispiel 2:Zugriff auf lokale Variable außerhalb des Bereichs

def foo():
    y = "local"


foo()
print(y)

Ausgabe

NameError: name 'y' is not defined

Die Ausgabe zeigt einen Fehler, weil wir versuchen, auf eine lokale Variable y zuzugreifen in einem globalen Bereich, während die lokale Variable nur innerhalb von foo() funktioniert oder lokaler Geltungsbereich.


Sehen wir uns ein Beispiel an, wie eine lokale Variable in Python erstellt wird.

Beispiel 3:Erstellen Sie eine lokale Variable

Normalerweise deklarieren wir eine Variable innerhalb der Funktion, um eine lokale Variable zu erstellen.

def foo():
    y = "local"
    print(y)

foo()

Ausgabe

local

Schauen wir uns das frühere Problem an, bei dem x war eine globale Variable und wir wollten x ändern innerhalb von foo() .


Globale und lokale Variablen

Hier zeigen wir, wie man globale Variablen und lokale Variablen im selben Code verwendet.

Beispiel 4:Verwendung von globalen und lokalen Variablen im selben Code

x = "global "

def foo():
    global x
    y = "local"
    x = x * 2
    print(x)
    print(y)

foo()

Ausgabe

global global 
local

Im obigen Code deklarieren wir x als global und y als lokale Variable im foo() . Dann verwenden wir den Multiplikationsoperator * um die globale Variable x zu ändern und wir drucken beide x und y .

Nach Aufruf der foo() , der Wert von x wird zu global global weil wir den x * 2 verwendet haben um zweimal global zu drucken . Danach geben wir den Wert der lokalen Variablen y aus also local .


Beispiel 5:Globale Variable und lokale Variable mit demselben Namen

x = 5

def foo():
    x = 10
    print("local x:", x)


foo()
print("global x:", x)

Ausgabe

local x: 10
global x: 5

Im obigen Code haben wir denselben Namen x verwendet sowohl für globale Variable als auch für lokale Variable. Wir erhalten ein anderes Ergebnis, wenn wir dieselbe Variable drucken, da die Variable in beiden Geltungsbereichen deklariert ist, d. h. im lokalen Geltungsbereich innerhalb von foo() und globaler Geltungsbereich außerhalb von foo() .

Wenn wir die Variable in foo() drucken es gibt local x: 10 aus . Dies wird als lokaler Geltungsbereich der Variablen bezeichnet.

Ähnlich, wenn wir die Variable außerhalb von foo() drucken , gibt es global x:5 aus . Dies wird als globaler Geltungsbereich der Variablen bezeichnet.


Nichtlokale Variablen

Nichtlokale Variablen werden in verschachtelten Funktionen verwendet, deren lokaler Geltungsbereich nicht definiert ist. Das bedeutet, dass die Variable weder im lokalen noch im globalen Gültigkeitsbereich liegen kann.

Sehen wir uns ein Beispiel an, wie eine nichtlokale Variable in Python verwendet wird.

Wir verwenden nonlocal Schlüsselwörter zum Erstellen nichtlokaler Variablen.

Beispiel 6:Erstellen Sie eine nichtlokale Variable

def outer():
    x = "local"

    def inner():
        nonlocal x
        x = "nonlocal"
        print("inner:", x)

    inner()
    print("outer:", x)


outer()

Ausgabe

inner: nonlocal
outer: nonlocal

Im obigen Code gibt es einen verschachtelten inner() Funktion. Wir verwenden nonlocal Schlüsselwörter, um eine nicht lokale Variable zu erstellen. Die inner() Funktion ist im Geltungsbereich einer anderen Funktion outer() definiert .

Hinweis :Wenn wir den Wert einer nichtlokalen Variablen ändern, erscheinen die Änderungen in der lokalen Variablen.


Python

  1. C-Variablen, Konstanten und Literale
  2. Python-Schlüsselwörter und -Identifikatoren
  3. Python-Anweisung, Einrückung und Kommentare
  4. Python-Variablen, -Konstanten und -Literale
  5. Python-Typkonvertierung und Typumwandlung
  6. Python-Eingabe, -Ausgabe und -Import
  7. Globales Python-Schlüsselwort
  8. Python-Zahlen, Typumwandlung und Mathematik
  9. Python-Verzeichnis- und Dateiverwaltung
  10. Python-Fehler und eingebaute Ausnahmen