Junior — Middle
82
Python-да әртүрлі ауқымдарда айнымалыны іздеу қалай жүзеге асырылады?
AI-дан жауап
sobes.tech AI
Python-да айнымалы іздеу LEGB ережесі бойынша жүргізіледі, ол келесі тәртіпте аймақтарды көрсетеді:
- L (Local) — функция немесе әдістің жергілікті аймағы.
- E (Enclosing) — сыртқы (қабаттасқан) функциялардың аймағы.
- G (Global) — ағымдағы модульдің жаһандық аймағы.
- B (Built-in) — Python-ның кірістірілген атаулары.
Интерпретатор айнымалы атауын кездестіргенде, ол алдымен жергілікті аймақта іздейді, егер табылмаса — сыртқы функцияларға өтеді, содан кейін жаһандық аймаққа және соңында кірістірілген атауларға қарайды. Егер айнымалы ешқайда табылмаса, NameError қателігі пайда болады.
Мысал:
x = 'global'
def outer():
x = 'enclosing'
def inner():
x = 'local'
print(x) # 'local' деп шығарады
inner()
print(x) # 'enclosing' деп шығарады
outer()
print(x) # 'global' деп шығарады