Junior — Middle
Vai vari paskaidrot, kas ir slēgums un kā tas darbojas Python valodā?
sobes.tech AI
Atbilde no AI
Pythonā aizvērums (closure) ir funkcija, kas atceras un var izmantot mainīgos no tās vides, kurā tā tika izveidota, pat ja šī vide vairs nav aktīva.
Piemērs:
def outer():
x = 10
def inner():
return x + 5
return inner
func = outer()
print(func()) # Izvadīs 15
Šeit inner ir aizvērums, kas "ieslēdza" mainīgo x no ārējās funkcijas outer. Pat pēc outer pabeigšanas, inner saglabā piekļuvi x.
Tas ir noderīgi, veidojot funkcijas ar saglabātu stāvokli bez globālo mainīgo izmantošanas.