Muallif
July 11, 2024
173Yangi boshlanuvchilar va ilg'or Python dasturchilari uchun eng ko'p beriladigan 15 ta savol tahlili.1. PEP 8 nima?PEP qisqartmasi Python Enhancement Proposeni anglatadi. Bu Python hamjamiyatiga ma'lumot beruvchi va Python yoki uning jarayonlari uchun yangi xususiyatni tavsiflovchi rasmiy dizayn hujj
PEP qisqartmasi Python Enhancement Proposeni anglatadi. Bu Python hamjamiyatiga ma'lumot beruvchi va Python yoki uning jarayonlari uchun yangi xususiyatni tavsiflovchi rasmiy dizayn hujjati. PEP 8 muhim, chunki u Python kodi uchun uslublar bo'yicha ko'rsatmalarni hujjatlashtiradi. Ya'ni, kod yozish uchun ma'lum qoidalar kiritilgan, ularga rioya qilish tavsiya etiladi.
Python-dagi ob'ekt doirada ishlaydi. Skop - bu Python-dagi ob'ekt tegishli bo'lib qoladigan kod blokidir. Nom maydonlari dastur ichidagi barcha ob'ektlarni noyob tarzda aniqlaydi. Shu bilan birga, bu nom maydonlari ular uchun belgilangan doiraga ega, bu erda ularning ob'ektlari prefikssiz ishlatilishi mumkin. Quyida Python da ish vaqtida yaratilgan doiralarning ba'zi misollari keltirilgan:
List va Tuples - bu Python-da ob'ektlar to'plamini saqlaydigan ma'lumotlar turlari. Ikkala ketma-ketlikda saqlangan ob'ektlar turli xil ma'lumotlar turlariga ega. Ro'yxat['sara', 6, 0.19]
kvadrat qavslar va kortejlar qavslar bilan ifodalanadi ('max', 5, 0.97)
. Ularning orasidagi asosiy farq shundaki, ro'yxat o'zgaruvchan bo'lsa-da , kortejlar o'zgarmas ob'ektdir. Bu shuni anglatadiki, ro'yxatdagi ma'lumotlarni tezda o'zgartirish, qo'shish yoki kesish mumkin, kortejlardagi ma'lumotlar esa o'zgarishsiz qoladi va hech qanday tarzda o'zgartirilmaydi.
Pass bu Pythonda null operatsiya hisoblanadi. Odatda ish vaqtida bajarilishi mumkin bo'lgan bo'sh kod bloklarini to'ldirish uchun ishlatiladi.
Modullar - bu Python fayllari <<.py>>
. Ularni bir marta import qilish va ishga tushirish mumkin import
. Agar qisman funksionallik talab etilsa, kerakli sinflar yoki funksiyalar yordamida import qilinadi from foo import bar
.
Paketlar nuqta belgilaridan foydalangan holda modul nomlar maydonini ierarxik tarzda tuzish imkonini beradi. Modullar global o'zgaruvchilar nomlari o'rtasidagi to'qnashuvlarning oldini olishga yordam berganidek, paketlar modul nomlari o'rtasidagi to'qnashuvlarning oldini olishga yordam beradi. Paket yaratish oson, chunki u tizimning mahalliy fayl strukturasidan foydalanadi. Paket fayl tizimida papka sifatida yaratiladi va kerakli modul (python fayli) joylashtiriladi. Paketdan modul yoki uning mazmunini import qilish paket nomi modul nomiga nuqtali prefiks bo'lishini talab qiladi.
Paketlar va modullar Python-da modulli dasturlash imkonini beruvchi ikkita mexanizmdir. Modulli dasturlash bir qancha afzalliklarga ega:
Massivlar faqat bir xil turdagi ma'lumotlarning elementlarini o'z ichiga oladi, ya'ni massivning ma'lumotlar turi bir hil bo'lishi kerak. Massivlar xotirani kamroq sarflaydi.
Ro'yxatlar turli turdagi ma'lumotlarning elementlarini o'z ichiga oladi, ya'ni ro'yxatlarning ma'lumotlar turi geterogen bo'lishi mumkin. Ularning kamchiliklari katta hajmdagi xotirani iste'mol qilishdir.
Python-da salbiy indekslar to'plamlar va massivlarni kesishning mashhur qo'llanilishidir. Ya'ni, indekslash kollektsiyalardan qirqishlarni yaratish uchun ishlatilishi mumkin.
Sintaksis - [start : stop : step]
:
start
- qaysi indeksdan boshlash kerak (salbiy bo'lishi mumkin)stop
- qayerda to'xtash kerakstep
- qadamlar soni. Standart 1
.Python da tayinlash operatori ( =
) ob'ektlardan nusxa ko'chirmaydi. Buning o'rniga, u mavjud ob'ekt va maqsadli o'zgaruvchining nomi o'rtasida bog'lanish hosil qiladi. Python-da ob'ektning nusxalarini yaratish uchun siz copy
. Bundan tashqari, yordamida berilgan ob'ekt uchun nusxalarni yaratishning ikki yo'li mavjud copy
.
Operatorning haddan tashqari yuklanishi - bu sinflardagi turli operatorlarni qayta belgilash, ya'ni kontekstga qarab ular bajaradigan amallarni o'zgartirish qobiliyati. Python qo'shish, ayirish va boshqalar kabi operatorlarga ega bo'lib, ular sinf uchun ortiqcha yuklanishi mumkin.
Python-da argumentlar havola orqali uzatiladi, ya'ni haqiqiy ob'ektga havola uzatiladi. Ammo argumentlarda ikki xil ob'ekt o'tadi.
Qiymat bo'yicha: Haqiqiy ob'ektning nusxasi uzatiladi. Ob'ekt nusxasining qiymatini o'zgartirish asl ob'ektning qiymatini o'zgartirmaydi.
Malumot bo'yicha: Haqiqiy ob'ektga havola uzatiladi. Yangi ob'ektning qiymatini o'zgartirish asl ob'ektning qiymatini o'zgartiradi.
*args
o'zgaruvchan uzunlikdagi argumentlarni uzatish uchun funksiya ta'rifida qo'llaniladigan maxsus sintaksisdir.
*
- o'zgaruvchan uzunlik degan ma'noni anglatadi va args
- bu PEP 8da qabul qilingan nom, ammo boshqa har qanday nomdan foydalanish mumkin
**kwargs
o'zgaruvchan uzunlikdagi argumentlarni kalit so'zlar bilan uzatish uchun funksiya ta'rifida ishlatiladigan maxsus sintaksis. Darhaqiqat, dictionary
bu key
va value
.
Bo'sh sinf - bu ba'zi usullar yoki xususiyatlarni amalga oshirishga ega bo'lmagan sinf. Bo'sh sinf bilan pass kalit so'zi xatolikka yo'l qo'ymaslik uchun ishlatiladi.
private
Python , public
, va hokazo kabi kirish spetsifikatorlaridan foydalanmaydi protected
. Biroq, u oʻzgaruvchilar nomlariga bitta ( protected
) yoki ikkita pastki chiziq ( private
) prefikslarini qoʻllash orqali oʻzgaruvchilar xatti-harakatlarini taqlid qilish tushunchasiga ega. Odatiy bo'lib, pastki chiziqsiz o'zgaruvchilar umumiy hisoblanadi.
A
Yig'indisi berilgan qiymatga teng bo'lgan berilgan massivning juftlarini sinash va qaytarish dasturini yozing N
.
shunga o`xshash algoritmlarni bemalol yozishingiz mumkin...Efirda O`zbek Dasturchi edi.. E`tiboringiz uchun rahmat...