Bu qanday ishlaydi:
"global" zahira so'zi funksiya ichidagi o'zgaruvchini global o'zgaruvchi ekanligini bildiradi va bu shuni anglatadiki qachonki biz bu o'zgaruvchi qiymatini funksiya ichida o'zgartirsak, bu o'zgarish asosiy blokdagi o'zgaruvchi qiymatida xam aks etadi.
Bitta "global" zahira so'zi yordamida bir necha o'zgaruvchini aniqlash mumkin:
global x, y, z
"nonlocal" zahira so'zi
Biz qanday qilib global va mahalliy o'zgaruvchilarga murojat qilishni ko'rib chiqdik. Ya'na bir korinish maydoni borki, bu maydon global va mahalliy maydonlar o'rtasini bildiruvchi "mahalliy emas" (нелокальной) ko'rinish maydoni mavjud. Bu ko'rinish maydoni siz funksiya ichida funksiya aniqlaganingizda uchraydi.
Pythonda funksiyani xohlagan joyingizda aniqlashingiz mumkin.
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
Do'stlaringiz bilan baham: |