def Salom():
ismi = "Tolib" familiyasi = "Otaboyev" print("Salom", ismi, familiyasi) def Xayr():
ismi = "Tolib" print("Xayr", ismi)
Salom()
Xayr()
Bu erda har ikkala funksiyada ismi - lokal o‘zgaruvchilari aniqlangan va ularning qo‘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. Masalan:
1
2
3 4
5
6
7
8
9
|
ismi = "Tolib"
def Salom():
print("Salom", ismi) def Xayr():
ismi = "G'olib" print("Xayr", ismi) Salom() # Salom Tolib
Xayr() # Xayr G'olib
|
Bu erda 1-qatorda ismi deb nomlangan global o‘zgaruvchi aniqlangan va xuddi shu nom bilan Xayr() funksiyasining ichida (6-qatorga qarang) ham lokal o‘zgaruvchi aniqlangan. Funksiya ichida aniqlangan lokal o‘zgaruvchi, funksiya ichida global o‘zgaruvchi “yashirib” qo‘yadi. Shuning uchun Xayr() funksiyasi chaqirilganda javobga lokal o‘zgaruvchining qiymati chiqarilgan.
Agar funksiyalarning ichida global o‘zgaruvchining qiymatini o‘zgartirish talab qilinsa, u holda global kalit so‘zidan foydalaniladi.
1
2 3
4
|
def Xayr():
global ismi ismi = "G'olib" print("Xayr", ismi)
|
Funksiya ichkarisida global o‘zgaruvchining qiymati o‘zgartirilishidan oldin global kalit so‘zi orqali ko‘rsatib o‘tilishi shart (2-qatorga qarang).
Odatda boshqa dasturlash tillaridagi kabi Python dasturlash tilida ham global o‘zgaruvchilardan iloji boricha kamroq foydanish tavsiya qilinadi.
Do'stlaringiz bilan baham: |