Ba’zida roʻyxatlar roʻyxatidan (ya’ni, ichki roʻyxatlardan) dublikatlarni olib tashlash kerak boʻladi — lekin bu yerda set funksiyasidan bevosita foydalana olmaysiz, chunki roʻyxatlar oʻzgartiriladigan (mutable) obyektlar hisoblanadi. Biroq, buning sodda yechimi mavjud!
Ichki roʻyxatlardan dublikatlarni olib tashlash uchun — ularni tuplega aylantiring, setdan foydalaning, so‘ngra ularni yana roʻyxatga qaytaring. Bu usul tez va ortiqcha sikllarsiz ishlaydi.
Please open Telegram to view this post
VIEW IN TELEGRAM
Qanday qilib Python dasturlash tilida satr ma’lum bir so‘z bilan boshlanishini tekshirish mumkin?
Python tilida satrning ma’lum bir so‘z bilan boshlanishini tekshirish uchun, regex (regulyar ifoda) dan foydalanamiz. Bu yerda ^ belgisi satrning boshini anglatadi, ya’ni satr shu belgidan keyingi so‘z bilan boshlanishi kerak.
Ushbu qo‘llanmada biz
Quyidagi misolda, satr ma’lum bir so‘z bilan boshlanadimi yoki yo‘q, shuni tekshirib ko‘ramiz.
🌟 @python_infinity 👈
Python tilida satrning ma’lum bir so‘z bilan boshlanishini tekshirish uchun, regex (regulyar ifoda) dan foydalanamiz. Bu yerda ^ belgisi satrning boshini anglatadi, ya’ni satr shu belgidan keyingi so‘z bilan boshlanishi kerak.
Ushbu qo‘llanmada biz
re.search()
funksiyasidan foydalanamiz. Bu funksiya berilgan ifodani satrga solishtirib, satr belgilangan so‘z bilan boshlanadimi yoki yo‘qligini aniqlaydi.Quyidagi misolda, satr ma’lum bir so‘z bilan boshlanadimi yoki yo‘q, shuni tekshirib ko‘ramiz.
Please open Telegram to view this post
VIEW IN TELEGRAM
print() funksiyasi o‘rniga darhol logging moduliga o‘rganib oling — u yanada moslashuvchan va professionaldir.
logging moduli — har qanday jiddiy Python kodi uchun zarur vosita. U kodni tuzatish va unga xizmat ko‘rsatishni ancha qulay va tartibli qiladi.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Dastur bajarilishi jarayoni
Progress indikatorlari vaqt talab qiladigan funksiyalarni bajaradigan skriptlarda ko‘rinishni yanada aniqroq qiladi. tqdm moduli esa oddiy va qulay variant hisoblanadi.
Oddiy range funksiyasini trange bilan almashtirib, bajarilish jarayonini ko‘rsatish mumkin. Shuningdek, biron-bir ketma-ketlik (sequential) ustida iteratsiya qilish uchun uni tqdm funksiyasiga uzatish kifoya. Ushbu modul Jupyter Notebookda ham o‘zini yaxshi ko‘rsatgan.
🌟 @python_infinity 👈
Progress indikatorlari vaqt talab qiladigan funksiyalarni bajaradigan skriptlarda ko‘rinishni yanada aniqroq qiladi. tqdm moduli esa oddiy va qulay variant hisoblanadi.
Oddiy range funksiyasini trange bilan almashtirib, bajarilish jarayonini ko‘rsatish mumkin. Shuningdek, biron-bir ketma-ketlik (sequential) ustida iteratsiya qilish uchun uni tqdm funksiyasiga uzatish kifoya. Ushbu modul Jupyter Notebookda ham o‘zini yaxshi ko‘rsatgan.
Please open Telegram to view this post
VIEW IN TELEGRAM
Counter.elements() metodi
Elementlar bo‘yicha iteratorni qaytaradi, bunda har bir element o‘zining qiymatida ko‘rsatilgan marta takrorlanadi.
Elementlar ularning paydo bo‘lish tartibida qaytariladi. Agar biror elementning soni birdan kichik bo‘lsa,
🌟 @python_infinity ✅
Elementlar bo‘yicha iteratorni qaytaradi, bunda har bir element o‘zining qiymatida ko‘rsatilgan marta takrorlanadi.
Elementlar ularning paydo bo‘lish tartibida qaytariladi. Agar biror elementning soni birdan kichik bo‘lsa,
Counter.elements()
uni shunchaki e’tibordan chetga chiqaradi.Please open Telegram to view this post
VIEW IN TELEGRAM
Counter.subtract() metodi
Counter.subtract() metodi joriy hisoblagich (cnt) elementlaridan boshqa bir takrorlanuvchi ketma-ketlik, lug‘at yoki boshqa Counter() hisoblagichidagi elementlarni ayiradi. U dict.update() metodiga o‘xshash ishlaydi, biroq kalitlarning qiymatlarini yangilamasdan, ularni kamaytiradi (ayiradi).
Hisoblagich (Counter) va lug‘atdagi kalitlarning qiymatlari nol yoki manfiy bo‘lishi mumkin.
Agar hohlasangiz, sizga Counter.subtract() misoli bilan tushuntirib bera olaman.
🌟 @python_infinity✅
Counter.subtract() metodi joriy hisoblagich (cnt) elementlaridan boshqa bir takrorlanuvchi ketma-ketlik, lug‘at yoki boshqa Counter() hisoblagichidagi elementlarni ayiradi. U dict.update() metodiga o‘xshash ishlaydi, biroq kalitlarning qiymatlarini yangilamasdan, ularni kamaytiradi (ayiradi).
Hisoblagich (Counter) va lug‘atdagi kalitlarning qiymatlari nol yoki manfiy bo‘lishi mumkin.
Agar hohlasangiz, sizga Counter.subtract() misoli bilan tushuntirib bera olaman.
Please open Telegram to view this post
VIEW IN TELEGRAM
defaultdict dan foydalanish orqali lug‘atlar bilan ishlash
Lug‘atlar bilan ishlaganda ko‘pincha mavjud bo‘lmagan kalitlarga murojaat qilishda xatolarning oldini olish uchun qiymatlarni sukut bo‘yicha (default) belgilash zarurati tug‘iladi. Bunday hollarda
defaultdict dan foydalanish kodni soddalashtiradi va lug‘atda kalitning mavjudligini qo‘lda tekshirish zaruratini yo‘q qiladi, bu esa kodni o‘qishli va samarali qiladi.
🌟 @python_infinity ✅
Lug‘atlar bilan ishlaganda ko‘pincha mavjud bo‘lmagan kalitlarga murojaat qilishda xatolarning oldini olish uchun qiymatlarni sukut bo‘yicha (default) belgilash zarurati tug‘iladi. Bunday hollarda
collections
modulidagi defaultdict
dan foydalanish juda qulay.defaultdict dan foydalanish kodni soddalashtiradi va lug‘atda kalitning mavjudligini qo‘lda tekshirish zaruratini yo‘q qiladi, bu esa kodni o‘qishli va samarali qiladi.
Please open Telegram to view this post
VIEW IN TELEGRAM
Agar siz Python’ning interaktiv rejimida (REPL) ishlayotgan bo‘lsangiz, har safar natijani o‘zgaruvchiga saqlashingiz shart emas — avvalgi ifodaning natijasi har doim _ belgisi orqali mavjud bo‘ladi.
Python’ning interaktiv konsolida _ belgisi oxirgi ifodaning natijasini saqlaydi — bu esa tezkor hisob-kitoblar va tajribalar uchun o‘zgaruvchi yaratmasdan foydalanishga juda qulay.
Please open Telegram to view this post
VIEW IN TELEGRAM
— 10 ta odamga FULL BACKEND pullik darslik tekinga.
P.S. Hohlaganlar uchun HTML va CSS darsliklarni tashlab berishim mumkun.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ba’zida kodning qaysidir qismini bajarishga qancha vaqt ketayotganini tezda bilishni xohlaysiz. Bunday hollarda timeit modulidan to‘g‘ridan-to‘g‘ri interaktiv rejimda foydalanish mumkin — bu juda qulay va faylga import qilish shart emas.
timeit
moduli — kodning bajarilish vaqtini ortiqcha harakatlarsiz o‘lchash uchun ajoyib vosita. Ayniqsa, kodni optimallashtirish jarayonida juda foydali bo‘ladi.Please open Telegram to view this post
VIEW IN TELEGRAM
Ikkita lug‘atni tezda birlashtirish, lekin asl nusxalarini o‘zgartirmaslik kerakmi? Python 3.9 dan boshlab | operatoridan foydalan!
🎯 Xulosa
| operatori lug‘atlarni bitta yangi lug‘atga birlashtiradi, asl (original) lug‘atlarni o‘zgartirmaydi. Bu usul qulay, o‘qilishi oson va deklarativ hisoblanadi.
Please open Telegram to view this post
VIEW IN TELEGRAM
Faqat nomlangan argumentlarni (kwargs) qo‘llab-quvvatlovchi funksiyalar
**kwargs (kalit-so‘zli argumentlar) — funksiyaga istalgan miqdorda nomlangan argumentlarni uzatish usuli hisoblanadi.
Funksiyada pozitsion va odatiy nomlangan argumentlardan keyin **kwargs parametri ko‘rsatiladi.
kwargs orqali uzatilgan argumentlar kalit-qiymat juftligi ko‘rinishida bo‘ladi. Funksiya ichida kwargs — bu lug‘at (dictionary) bo‘lib, unda kalitlar — argumentlarning nomlari, qiymatlar esa — ularning qiymatlari bo‘ladi.
Bu orqali kwargs yordamida funksiyaga istalgancha qo‘shimcha nomlangan argumentlarni uzatish mumkin bo‘ladi.
Agar bir vaqtda *args va **kwargs ishlatilayotgan bo‘lsa, chaqiruvda avval *args, so‘ng **kwargs ko‘rsatiladi.
#bu_asosiy_narsa
🌟 @python_infinity✅
**kwargs (kalit-so‘zli argumentlar) — funksiyaga istalgan miqdorda nomlangan argumentlarni uzatish usuli hisoblanadi.
Funksiyada pozitsion va odatiy nomlangan argumentlardan keyin **kwargs parametri ko‘rsatiladi.
kwargs orqali uzatilgan argumentlar kalit-qiymat juftligi ko‘rinishida bo‘ladi. Funksiya ichida kwargs — bu lug‘at (dictionary) bo‘lib, unda kalitlar — argumentlarning nomlari, qiymatlar esa — ularning qiymatlari bo‘ladi.
Bu orqali kwargs yordamida funksiyaga istalgancha qo‘shimcha nomlangan argumentlarni uzatish mumkin bo‘ladi.
Agar bir vaqtda *args va **kwargs ishlatilayotgan bo‘lsa, chaqiruvda avval *args, so‘ng **kwargs ko‘rsatiladi.
#bu_asosiy_narsa
Please open Telegram to view this post
VIEW IN TELEGRAM
KONKURS! 🎉
Sovg‘alarni yutib olishga shoshiling! 🎁
Konkurs homiylari:
1. @sadikov_blog
2. @abdurakhimovs_blog
Sovrinlar:
10 ta odamga FULL BACKEND darslik
G‘oliblar random orqali aniqlanadi – Sana: 11.07.25🎯
Barchaga omad tilaymiz! 🌟
🌟@python_infinity 🌟
Sovg‘alarni yutib olishga shoshiling! 🎁
Konkurs homiylari:
1. @sadikov_blog
2. @abdurakhimovs_blog
Sovrinlar:
10 ta odamga FULL BACKEND darslik
G‘oliblar random orqali aniqlanadi – Sana: 11.07.25🎯
Barchaga omad tilaymiz! 🌟
🌟@python_infinity 🌟
#Suhbatdagi_savollar
Python modullarni qanday qidiradi?
Modullar import qilinganda, interpretator ularni quyidagi tartibda izlaydi:
1. Avvalo, Python’ning o‘zida mavjud bo‘lgan ichki (built-in) modullar tekshiriladi.
2. So‘ngra, sys.path nomli global o‘zgaruvchida ko‘rsatilgan yo‘llar bo‘yicha qidiruv amalga oshiriladi.
sys.path quyidagilarni o‘z ichiga oladi:
• joriy skript joylashgan ishchi katalog (ya’ni hozirgi papka),
• PYTHONPATH muhit o‘zgaruvchisida ko‘rsatilgan kataloglar,
• Python’ning standart kutubxonasi kataloglari.
3. Agar modul topilmasa, ImportError istisnosi (xatoligi) yuzaga keladi.
🌟 @python_infinity ✅
Python modullarni qanday qidiradi?
Modullar import qilinganda, interpretator ularni quyidagi tartibda izlaydi:
1. Avvalo, Python’ning o‘zida mavjud bo‘lgan ichki (built-in) modullar tekshiriladi.
2. So‘ngra, sys.path nomli global o‘zgaruvchida ko‘rsatilgan yo‘llar bo‘yicha qidiruv amalga oshiriladi.
sys.path quyidagilarni o‘z ichiga oladi:
• joriy skript joylashgan ishchi katalog (ya’ni hozirgi papka),
• PYTHONPATH muhit o‘zgaruvchisida ko‘rsatilgan kataloglar,
• Python’ning standart kutubxonasi kataloglari.
3. Agar modul topilmasa, ImportError istisnosi (xatoligi) yuzaga keladi.
Please open Telegram to view this post
VIEW IN TELEGRAM
#suhbatdagi_savollar
Qanday qilib matnda faqat harflar va raqamlar borligini tezda tekshirish mumkin?
Javobi rasmda. Bunday masalani hal qilish uchun aynan shuning uchun mo‘ljallangan isalnum deb nomlangan ichki funksiyadan foydalanish mumkin.
🌟 @python_infinity ✅
Qanday qilib matnda faqat harflar va raqamlar borligini tezda tekshirish mumkin?
Javobi rasmda. Bunday masalani hal qilish uchun aynan shuning uchun mo‘ljallangan isalnum deb nomlangan ichki funksiyadan foydalanish mumkin.
Please open Telegram to view this post
VIEW IN TELEGRAM
pathlib
moduli os.path
o‘rniga — yo‘llar bilan toza va qulay ishlash imkonini beradiFayllar bilan
os.path
orqali ishlash ko‘pincha chalkash va noqulay bo‘ladi. Buning o‘rniga, pathlib modulidan foydalanish mumkin — u obyektga yo‘naltirilgan va oson o‘qiladigan API (interfeys)ni taqdim etadi.pathlib
— bu os.path
uchun zamonaviy almashtiruvchi bo‘lib, yo‘llar bilan ishlashni soddaroq, tushunarliroq va xavfsizroq qiladi.Please open Telegram to view this post
VIEW IN TELEGRAM