Kurs: D0009E


Scope (räckvidd) bestämmer var en variabel är synlig.

LEGB-regeln

Python slår upp namn i ordningen:

  1. Local — funktionens egna namn
  2. Enclosing — omgivande funktion
  3. Global — modulnivå
  4. Built-in — print, len, …
x = 1
def f():
    x = 2          # lokal
    print(x)       # 2
f()
print(x)           # 1

global och nonlocal

Används för att skriva till en yttre variabel inifrån en funktion (bör användas sparsamt).

Se även