1. Python tili imkoniyatlari Pythonni ko`chirish



Yüklə 2,19 Mb.
səhifə69/78
tarix19.12.2023
ölçüsü2,19 Mb.
#152124
1   ...   65   66   67   68   69   70   71   72   ...   78
1. Python tili imkoniyatlari Pythonni ko`chirish

pip install package_name – paket(lar)ni o`rnatish.
pip uninstall package_name – paket(lar)ni o`chirish.
pip list – o`rnatilgan paketlarning ro`yxati.
pip show package_name – o`rnatilgan paket to`g`risidagi mal`umotni chiqarish.
pip search – paketlarni nomi bo`yicha izlash.
pip –proxy user:passwd@proxy.server:port – proksidan foydalanish.
pip install -U – paket(lar)ni yangilash.
pip install –force-reinstall – yangilanganda, hattoki, paket eng oxirgi versiyadagisi bo`lsa ham, qaytadan o`rnatish.

33-bob

Ko`p beriladigan savollar


Pythonda dasturlashni yangi boshlovchilarni ikkilantirishi mumkinbo`lgan ba`zi holatlar.

Nega menda o`zgaruvchi qiymatga ega bo`lsa ham, UnboundLocalError noodatiy holat xabari paydo bo`lyapti?


Ba`zida oldin ishlab turgan koddagi funksiyaga oddiygina o`zlashtirish operatorini qo`shishning natijasi sifatida UnboundLocalError xatoligi chiqib qolishi mumkin.
Mana bu kod ishlaydi:

>>> x = 10
>>> def bar():
... print(x)
>>> bar()
10



>>> foo()
Traceback (most recent call last):
...
UnboundLocalError: local variable 'x' referenced before assignment

>>> x = 10
>>> def foo():
... print(x)
... x += 1

Lekin quyidagi kod esa, UnboundLocalError xatolikka olib keladi:


Natija:

Bunday holatning kelib chiqishiga sabab shuki, siz o`zgaruvchiga uning ko`rinish sohasida qiymat berayotgan vaqtingizda u shu sohada lokal o`zgaruvchiga aylanib qoladi hamda tashqi sohadagi xuddi shu o`zgaruvchilarni yashirin holatga o`tib qolishiga olib keladi.


foo funksiyasidagi oxirgi ko`rsatma o`z tarkibida x o`zgaruvchiga yangi qiymat berganda, kompilyator bu lokal o`zgaruvchi ekan degan xato xulosaga keladi. Demak undan oldinroqdagi print hali faollashtirilmagan o`zgaruvchini chiqarishga intilganda, xatolik kelib chiqadi.
Yuqoridagi misolda o`zgaruvchiga murojaat qilish mumkin bo`lishi uchun uni global o`zgaruvchi sifatida e`lon qilish mumkin:

>>> x = 10
>>> def foobar():
... global x
... print(x)
... x += 1
>>> foobar()
10



>>> print(x)
11

Bu yaqqol e`lon qilishdan maqsad, sizga tashqi ko`rinish sohasidagi o`zgaruvchining qiymatini o`zgartirayotganligingizni (klass va ekzemplyarlar bilan bog`liq xuddi shunday holatdan farqli tarzda) eslatish uchun kerak.


Siz xuddi shunday vazifani ko`rinishning ichki sohasida ham bajarish uchun nonlocal so`zidan foydalanishingiz mumkin:

>>> def foo():
... x = 10
... def bar():
... nonlocal x
... print(x)
... x += 1
... bar()
... print(x)
>>> foo()
10
11



Yüklə 2,19 Mb.

Dostları ilə paylaş:
1   ...   65   66   67   68   69   70   71   72   ...   78




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə