Page 98 - 9-sinf informatika yangi 2020. @informatika
P. 98
Lokal o‘zgaruvchilar ӏ bu oӒzlari eʼlon qilingan qism dasturda faol boӒladigan oӒzgaruvchilar.
Ularni muayyan funksiya doirasida qoӒllash mumkin, shu sababli faqat shu funksiya doirasidagina
amal qiladi. Lokal o‘zgaruvchilardan foydalanish o‘zgaruvchining qiymati dasturning boshqa
qismlarid tasodi oӒzgari qolishi xavԊni kamaytiradi.
val nomli funksiya eӓlon qilindi. Funksiya ichida a lokal
>>> def val():
a=10 o‘zgaruvchi e’lon qilindi va unga qiymat berildi hamda
print(a) a ning qiymatini ekranga chiqarish buyrug‘i berildi.
>>> val()
Asosiy dasturda val nomli funksiya chaqirilganda,
10 ekranga a ning qiymatini chiqaradi.
>>> print(a)
Traceback (most recent Asosiy dasturda a ning qiymati ekranga chiqarish
call last): File buyrugӒi berilsa, xatolik haqidagi xabar chiqadi. Sababi
"<pyshell#15>", line
1, in <module> a oӒzgaruvchi ӏ funksiya ichida eӓlon qilingan lokal
print(a) oӒzgaruvchi, asosiy dasturda ahamiyatga ega emas.
NameError: name 'a'
is not defined
Global o‘zgaruvchilar
Global oӒzgaruvchilar butun dastur davomida faol boӒladigan oӒzgaruvchilardir. Ular qism
dasturdan tashqarida, yaӓni asosiy dasturda eӓlon qilinadi. Odatda, ularni modullarni import
qilgandan keyin, kodning boshlanishida eʼlon qilish kerak. Ularni odatiy oӒzgaruvchilar kabi
chaqirish mumkin.
>>> b=5 b global o‘zgaruvchi e’lon qilindi va 5 qiymat berildi.
>>> def val2(): val2 nomli funksiya e’lon qilindi.
print(b) Funksiya ichida b ning qiymatini ekranga chiqarish buyrug‘i berildi.
>>> val2()
Asosiy dasturda val2 nomli funksiya chaqirilganda,
5 ekranga b ning qiymatini chiqaradi.
>>> print(b) b global o‘zgaruvchiga dasturning ixtiyoriy qismida:
asosiy dasturda ham, qism dasturda ham murojaat
5
qilish mumkin va u natijani chiqaradi.
Global o‘zgaruvchining qiymatini o‘zgartirish
Agar funksiyadа global oӒzgaruvchining qiymatini oӒzgartirishgа toӒgӒri kelsa, u holda
funksiyada Ӗglobalӗ kalit soӒzi yordamida oӒzgaruvchini yana qayta eʼlon qilish zarur.
b global o‘zgaruvchi e’lon qilindi va 5 qiymat berildi.
>>> b=5 val3 nomli funksiya e’lon qilindi.
>>> def val3():
global b b o‘zgaruvchining qiymatini o‘zgartirish va uni
b=b+1 butun dasturda ahamiyatli qilish uchun u funksiya
ichida global sifatida qayta e’lon qilinadi.
print(b)
>>> val3() Funksiya ichida b ning qiymatini ekranga chiqarish buyrug‘i berildi.
Asosiy dasturda val3 nomli funksiya chaqirilganda,
6 ekranga b ning qiymatini chiqaradi.
59–60-darslar. FUNKSIYALAR VA O‘ZGARUVCHILAR 97