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
   93   94   95   96   97   98   99   100   101   102   103