ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ β ΡΡΠΎ ΡΠ° ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½Π°, ΠΎΡΠΊΡΡΡΠ° ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠ°. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΡΡΠ΅ ΡΠΈΠΏΠ° ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Python: π΅ Local (Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ) π΅ Enclosing (ΠΎΡ
Π²Π°ΡΡΠ²Π°ΡΡΠ°Ρ) π΅ (Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ) π΅ Built-in (Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ)
1. Local - Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΡΠΌΠΈΠΊΠΎΠΌ Π²Π½ΡΡΡΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠ°
var = "ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ"
def func():
var = "ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ"
print(var)
print(var)
func()
2. Enclosing - ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠ· local Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΡ
Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, Π½ΠΎ Π½Π΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠ»ΡΡ ΡΠ»ΠΎΠ²ΠΎ nonlocal ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠΉΡΠΈ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½ΠΎ ΠΎΠ½Π° Π΅ΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ
def func1():
name = "ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ"
print(name)
def func2():
nonlocal name
name = "ΠΡΠΎΡΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ"
func2()
print(name)
func1()
3. Global -