Python dasturlash tili: 6-dars
def func(): global
Download 48.65 Kb.
|
Python dasturlash-6-dars-Funksiyalar
def func():
global x print("x teng", x) x = 2 print("Global x qiymatini", x, "ga o'zgartiramiz") func() print("x ning qiymati", x) Natija:
$ python func_global.py x teng 50 Global x qiymatini 2 ga o'zgartiramiz x ning qiymati 2 Bu qanday ishlaydi: “global” zahira so’zi funksiya ichidagi o’zgaruvchini global o’zgaruvchi ekanligini bildiradi va bu shuni anglatadiki qachonki biz bu o’zgaruvchi qiymatini funksiya ichida o’zgartirsak, bu o’zgarish asosiy blokdagi o’zgaruvchi qiymatida xam aks etadi. Bitta “global” zahira so’zi yordamida bir necha o’zgaruvchini aniqlash mumkin: global x, y, z “nonlocal” zahira so’zi Biz qanday qilib global va mahalliy o’zgaruvchilarga murojat qilishni ko’rib chiqdik. Ya’na bir korinish maydoni borki, bu maydon global va mahalliy maydonlar o’rtasini bildiruvchi “mahalliy emas” (нелокальной) ko’rinish maydoni mavjud. Bu ko’rinish maydoni siz funksiya ichida funksiya aniqlaganingizda uchraydi. Pythonda funksiyani xohlagan joyingizda aniqlashingiz mumkin.
def func_outer(): x = 2 print("x teng", x) def func_inner(): nonlocal x x = 5 func_inner() print("maxalliy x", x, "ga o'zgardi") func_outer() Natija:
$ python func_nonlocal.py x teng 2 maxalliy x 5 ga o'zgardi Bu qanday ishlaydi: func_inner funksiyasi birinchi qatorida aniqlangan x o’zgaruvchi mahalliy ko’rinish maydonida emas (o’zgaruvchini aniqlash func_inner blokiga kirmaydi), global ko’rinish maydonida ham emas (o’zgaruvchi dasturning asosiy blokida ham emas). Biz aynan x o’zgaruvchini ishlatish uchun uni quyidagich e’lon qilamiz: nonlocal x.
“nonlocal x” yozuvini “global x” yozuviga, keyin esa “global” zahira so’zini o’chirib tashlang va bu ikki holdagi o’zgarishlarni kuzating. Argumentlarning qiymat ko’rsatilmaganda ishlatiladigan qiymati (Значения аргументов по умолчанию) Ko’p hollarda funksiyaning ba’zi parametrlari majburiy bo’lmasligi mumkin. Agar dasturchi bunday parametrlar uchun qiymat bermasa, u holda funksiya aniqlanishida ko’rsatilgan qiymat (значение по умолчанию) ishlatiladi. Buning uchun funksiya e’lon qilinish joyida parametr nomidan keyin o’zlashtirish operatori (=) va undan so’ng biror qiymat beriladi.
E’tibor bering, funksiya aniqlanishida ko’rsatilgan qiymat (значение по умолчанию) konstanta bo’lishi kerak. Yoki aniqroq qilib aytganda qiymati o’zgarmas bo’lishi kerak. Misol: (func_default.py nomi bilan saqlang)
def say(message, times = 1): print(message * times) say('Salom') say('Dunyo', 5) Natija:
Salom DunyoDunyoDunyoDunyoDunyo Download 48.65 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling