Python-omfattning
- Föregående sida Python-iteration
- Nästa sida Python-moduler
Variabler är endast tillgängliga inom skapningsområdet. Detta kallas riktning.
Lokal riktning
Variabler som skapas inuti en funktion tillhör den lokala riktningen för denna funktion och kan bara användas inom denna funktion.
Exempel
Variabler som skapas inuti en funktion är tillgängliga inom denna funktion:
def myfunc(): x = 100 print(x) myfunc()
Funktion inom funktion
Som i föregående exempel är variabeln x inte tillgänglig utanför funktionen, men är tillgänglig för alla funktioner inom funktionen:
Exempel
Kan komma åt en lokal variabel från en funktion inom en funktion:
def myfunc(): x = 100 def myinnerfunc(): print(x) myinnerfunc() myfunc()
Global omgivning
Variabler som skapas i huvudkoden i Python är globala variabler, som tillhör den globala omgivningen.
Globala variabler är tillgängliga i alla omgivningar (både globala och lokala).
Exempel
Variabler som skapas utanför en funktion är globala variabler, tillgängliga för alla:
x = 100 def myfunc(): print(x) myfunc() print(x)
Namngivna variabler
Om du använder samma namn för variabler både inom och utanför en funktion, kommer Python att betrakta dem som två separata variabler, en som är tillgänglig i den globala omgivningen (utanför funktionen) och en som är tillgänglig i den lokala omgivningen (inom funktionen):
Exempel
Funktionen kommer att skriva ut den lokala variabeln x, och koden kommer sedan att skriva ut den globala variabeln x:
x = 100 def myfunc(): x = 200 print(x) myfunc() print(x)
Global nyckelord
Om du behöver skapa en global variabel men är fast i den lokala omgivningen, kan du använda global nyckelord.
Global nyckelord gör variabeln till en global variabel.
Exempel
Om du använder global nyckelord, tillhör variabeln den globala omgivningen:
def myfunc(): global x x = 100 myfunc() print(x)
Dessutom, om du vill ändra en global variabel inom en funktion, använd också global nyckelord.
Exempel
För att ändra värdet på en global variabel inom en funktion, använd global nyckelord för att hänvisa till variabeln:
x = 100 def myfunc(): global x x = 200 myfunc() print(x)
- Föregående sida Python-iteration
- Nästa sida Python-moduler