Python område

Variabler er kun tilgængelige i det område, hvor de er oprettet. Dette kaldes rækkevidde.

Lokal rækkevidde

Variabler oprettet inde i en funktion tilhører den lokale rækkevidde af funktionen og kan kun bruges inde i funktionen.

Eksempel

Variabler oprettet inde i en funktion er kun tilgængelige inde i denne funktion:

def myfunc():
  x = 100
  print(x)
myfunc()

Kør Eksempel

Funktioner inden for funktioner

Som vist i eksemplet ovenfor er variablen x utilgængelig uden for funktionen, men tilgængelig for alle funktioner inden for funktionen:

Eksempel

Kan få adgang til en lokal variabel fra en funktion inden for en funktion:

def myfunc():
  x = 100
  def myinnerfunc():
    print(x)
  myinnerfunc()
myfunc()

Kør Eksempel

Global Rækkevidde

Variabler, der oprettes i hovedkoden i Python, er globale variabler, der tilhører den globale rækkevidde.

Global variable er tilgængelige i alle rækkevidder (både globale og lokale).

Eksempel

Variabler, der oprettes uden for en funktion, er globale variabler, som alle kan bruge:

x = 100
def myfunc():
  print(x)
myfunc()
print(x)

Kør Eksempel

Navngiv Variabler

Hvis du opererer med同名 variabler både inde og ude for en funktion, vil Python betragte dem som to separate variabler, en som er tilgængelig i den globale rækkevidde (uden for funktionen) og en som er tilgængelig i den lokale rækkevidde (inde for funktionen):

Eksempel

Denne funktion vil udskrive den lokale variabel x, og derefter vil koden også udskrive den globale variabel x:

x = 100
def myfunc():
  x = 200
  print(x)
myfunc()
print(x)

Kør Eksempel

Global nøgleord

Hvis du har brug for at oprette en global variabel, men er fanget i en lokal rækkevidde, kan du bruge global nøgleordet.

Global nøgleord gør en variabel til en global variabel.

Eksempel

Hvis du bruger global nøgleordet, tilhører variablen den globale rækkevidde:

def myfunc():
  global x
  x = 100
myfunc()
print(x)

Kør Eksempel

Desuden skal du også bruge global nøgleordet, hvis du vil ændre en global variabel inden for en funktion.

Eksempel

For at ændre værdien af en global variabel inden for en funktion, skal du bruge global nøgleordet for at referere til variablen:

x = 100
def myfunc():
  global x
  x = 200
myfunc()
print(x)

Kør Eksempel