8.2. Global va lokal o'zgaruvchilar.
O’zgaruvchilarning ko’rinish sohasi ularning dasturdagi qo’llanilishi mumkin bo’lgan qismi (kontekst)ga aytiladi. Pythonda kontekstlarning ikki turi mavjud: global va lokal.
Global o’zgaruvchilar barcha funksiyalardan tashqarida aniqlangan bo’ladi va ixtiyoriy funksiyaning ichkarisida foydalanilish imkonini beradi.
ism = "Zafar"
def Salom():
print("Salom", ism)
def Xayr():
print("Xayr", ism)
Salom()
Xayr()
Bu yerda ism o’zgaruvchisi global qilib aniqlangan, shuning uchun ushbu o’zgaruvchi ikkita funksiyaning ichida hech qanday muammosiz ishlatilgan ya`ni ko’rinish sohasi funksiyalarga nisbatan ham global sifatida qo’llanilgan.
Global o’zgaruvchilardan farqli ravishda lokal o’zgaruvchilar o’zi aniqlangan funksiyaning ichkarisida (tana qismida) ishlatilishi mumkin, ya`ni uning ko’rinish sohasi funksiyaning tana qismini qamrab oladi.
def Salom():
ism = "Zafar"
familiya = "Turakulov"
print("Salom", ism, familiya)
def Xayr():
ism = "Zafar"
print("Xayr", ism)
Salom()
Xayr()
Bu yerda har ikkala funksiyada ism - lokal o’zgaruvchilari aniqlangan va ularning ko’rinish sohalari o’zi joylashgan funksiyaning ichida bo’lib, ularning har biri faqat o’zi joylashgan funksiya ichida amal qiladi.
Agar lokal o’zgaruvchi va global o’zgaruvchi bir xil nomga ega bo’lsa, u holda lokal o’zgaruvchi o’zining ko’rinish sohasida global o’zgaruvchini “yashirib” qo’yadi.
Agar funksiyalarning ichida global o’zgaruvchining qiymatini o’zgartirish talab qilinsa, u holda global kalit so’zidan foydalaniladi.
def Xayr():
global ismi
ismi = "Jaloliddin"
print("Xayr", ismi)
Funksiya ichkarisida global o’zgaruvchining qiymati o’zgartirilishidan oldin global kalit so’zi orqali ko’rsatib o’tilishi shart.
Odatda boshqa dasturlash tillaridagi kabi Python dasturlash tilida ham global o’zgaruvchilardan iloji boricha kamroq foydalanish tavsiya qilinadi.
Last updated