Misol:
(func_nonlocal.py nomi bilan saqlang)
def func_outer():
x = 2
print("x teng", x)
def func_inner():
nonlocal x
x = 5
func_inner()
print("maxalliy x", x, "ga o'zgardi")
func_outer()
Natija:
$ python func_nonlocal.py
x teng 2
maxalliy x 5 ga o'zgardi
Bu qanday ishlaydi:
func_inner funksiyasi birinchi qatorida aniqlangan x o'zgaruvchi mahalliy
ko'rinish maydonida emas (o'zgaruvchini aniqlash func_inner blokiga kirmaydi),
global ko'rinish maydonida ham emas (o'zgaruvchi dasturning asosiy blokida
ham emas). Biz aynan x o'zgaruvchini ishlatish uchun uni quyidagich e'lon
qilamiz: nonlocal x.
"
nonlocal x
" yozuvini "