Natija:
$ python func_param.py
4 katta
7 katta
Bu qanday ishlaydi:
Bu yerda biz a va b parametrlardan foydalanadigan printMax funksiyasini e'lon qildik. Bu funksiyada oddiygina if..else operatoridan foydalangan holda sonlarning kattasini aniqlaymiz va uni ekranga chop etamiz.
printMax funksiyasini birinchi marta chaqirganimizda sonlarni to'g'ridan-to'gri argument sifatida beramiz. Ikkinchi marta chaqirganimizda esa o'zgaruvchilarni argument sifatida beramiz. printMax(x, y) x argument qiymatini a parametrga, y argument qiymatini esa bparametrga biriktiradi. Yuqoridagi ikkala holatda ham funksiya bir xilda ishlaydi.
mahalliy(локальные) parametrlar.
Funksiyaning ichida e'lon qilingan o'zgaruvchilar huddi shu nomdagi funksiya tashqarisida e'lon qilingan o'zgaruvchilar bilan xech qanday bog'liklikka ega emas, ya'ni bu o'zgaruvchilar mahalliy o'zgaruvchilar hisoblanadi. Bu o'zgaruvchining ko'rinish maydoni(область видимости) deyiladi. Har bir o'zgaruvchining ko'rinish maydoni o'zgaruvchi aniqlangan amallar bloki va shu o'zgaruvchi e'lon qilingan nuqta bilan chegaralangan.
Misol:(func_local.py nomi bilan saqlang)
x = 50
def func(x):
print("x teng", x)
x = 2
print("Mahalliy x qiymatini", x, "ga o'zgartiramiz")
func(x)
print("x qiymati qanday bo'lsa, shunday turibdi", x)
Natija:
$ python func_local.py
x teng 50
Mahalliy x qiymatini 2 ga o'zgartiramiz
x qiymati qanday bo'lsa, shunday turibdi 50
Bu qanday ishlaydi:
Funksiyaning birinchi qatorida, x o'zgaruvchisiga biriktirilgan qiymatni birinchi bor chop etishda Python funksiyaning yuqorisida, ya'ni asosiy blokda e'lon qilingan parametrning qiymatidan foydalanadi.
So'ng x o'zgaruvchiga 2 qiymatni biriktiramiz. x o'zgaruvchisi bizning funksiyamiz uchun mahalliy hisoblanadi. Shuning uchun x o'zgaruvchining qiymatini funksiya ichida o'zgartirganimizda, funksiya tashqarisida aniqlangan x o'zgaruvchi qiymati xech qanday o'zgarishsiz qoladi.
Dastur oxirida print funksiyasi yordamida asosiy blokda aniqlangan x o'zgaruvchisi qiymatini chop etamiz va funksiya ichida x o'zgaruvchisi qiymatining o'zgartirilishi xech qanday ta'sir qilmaganligini ko'rishimiz mumkin bo'ladi.
Do'stlaringiz bilan baham: |