Isoqjanov Ilyos | Python
511 subscribers
34 photos
13 videos
2 files
60 links
🐍 Python bo'yicha o'zbek tilidagi sifatli materiallarni ko'paytirishda o'zing madadkor bo'lgin Allohim.

Shaxsiy blogim:
https://t.me/coldboot_blog

Admin:
@JurabekAbdusattarov,
@pythonwithcoldboot
Download Telegram
Assalomu alaykum va kanalimizga xush kelibsiz! 👋
Python | FastAPI | Django | PyQt dunyosiga birgalikda sho‘ng’iymiz! 🐍🚀

Ushbu kanal — Python dasturlash tilini o‘rganayotganlar va unga qiziqadiganlar uchun foydali bo‘lishi niyatida ochildi. Bu yerda sizni quyidagilar kutmoqda:

🔹 Shaxsiy tajribalardan olingan darslar va maslahatlar
🔹 Python olamidagi eng so‘nggi yangiliklar
🔹 Siz qiziqqan mavzularda foydali va motivatsion postlar

Doimiy o‘sish va birgalikdagi rivoj yo‘lida — boshladik! 💻
👏2👍1
🤔 "Python o'zi qanday dasturlash tili? Boshqalardan farqi nimada?" — degan savol ko‘pchilikni qiziqtiradi.

🔹 Python — bu oddiy, tushunarli va kuchli dasturlash tili. Yangi boshlovchilar uchun juda qulay, lekin yirik loyihalar uchun ham yetarlicha kuchli.

💡 Uni boshqalardan ajratib turuvchi asosiy jihatlar:

Sodda sintaksis – Ingliz tiliga yaqin yozilishi uni o‘rganishni osonlashtiradi.
Kengaytirilgan kutubxonalar – Data science, web, avtomatlashtirish, AI va boshqalar uchun tayyor vositalar bor.
Platformadan mustaqil – Bir kodni turli tizimlarda hech qanday o‘zgartirishsiz ishlatish mumkin.
Jamoa va hamjamiyat kuchli – Har qanday muammo bo‘yicha internetda yechim topish oson.
Universallig – Web backend (FastAPI, Django), desktop (PyQt), ma’lumotlar tahlili (Pandas), sun’iy intellekt (TensorFlow) va yana ko‘p sohalarda ishlatiladi.

🚀 Xulosa qilib aytganda, Python — o‘rganish oson, ishlatish qulay va imkoniyatlar cheksiz til.

Siz ham Python bilan dasturlashni boshlaganmisiz? 🤓
Izohlarda tajribangiz bilan o‘rtoqlashing yoki savollaringizni yozib qoldiring! 👇

t.me/simplypythonuz
👍2🔥1
💡 Dasturlash tili nima?
Dasturlash tili — bu kompyuterlar bilan “gaplashish” uchun ishlatiladigan til. Ya’ni, uning yordamida biz kompyuterga nima qilish kerakligini yozma buyruqlar orqali tushuntiramiz.

🎯 Sodda qilib aytganda:
Dasturlash tili — bu inson va kompyuter o‘rtasidagi tarjimon.

📌 Dasturlash tili orqali nima qilish mumkin?
Web-saytlar yaratish (HTML, CSS, JavaScript)

Mobil ilovalar yaratish (Kotlin, Swift)

O‘yinlar yaratish (C++, Unity, Python)

Sun’iy intellekt va data analiz (Python, R)

Robotlar va avtomatlashtirish tizimlari (C, Python)

🔧 Mashhur dasturlash tillari:
Python – sodda va ko‘p sohalarda ishlatiladi

JavaScript – web dasturlash uchun eng muhim til

Java – Android ilovalar va korporativ tizimlar

C++ – o‘yinlar va tizim darajasidagi dasturlar uchun

C# – o‘yinlar va Windows ilovalari uchun

Xulosa:
Dasturlash tili – bu kompyuterga aql beradigan vosita. Uning yordamida biz dastur tuzamiz, muammo yechamiz va texnologiyani boshqaramiz.
👍1
💻 O‘zi qanday dasturlash tillari mavjud?
Quyida asosiy dasturlash tillari va ularning qo‘llanilish sohalari keltirilgan:

🔹 Python
📌 Qo‘llaniladi: Sun’iy intellekt (AI), ma’lumotlar tahlili, web dasturlash, avtomatlashtirish.
Juda sodda sintaksisga ega, boshlovchilar uchun ideal.

🔹 JavaScript
📌 Qo‘llaniladi: Web-sahifalar interaktivligi, front-end va back-end (Node.js), mobil ilovalar.
🌐 Brauzerda bevosita ishlaydi.

🔹 Java
📌 Qo‘llaniladi: Android ilovalari, server tizimlari, korporativ dasturlar.
🛠 Kuchli va xavfsiz tizimlar uchun ishlatiladi.

🔹 C++
📌 Qo‘llaniladi: O‘yinlar, grafik tizimlar, operatsion tizimlar, apparatga yaqin dasturlar.
⚙️ Yuqori samaradorlik va tezlik talab qilinadigan joylarda.

🔹 C# (C-sharp)
📌 Qo‘llaniladi: Windows ilovalari, o‘yinlar (Unity), web-ilovalar (.NET).
Microsoft tomonidan ishlab chiqilgan.

🔹 PHP
📌 Qo‘llaniladi: Web server dasturlash, dinamik saytlar (masalan, WordPress).
🌍 Juda ko‘plab saytlar asosida ishlaydi.

🔹 Swift
📌 Qo‘llaniladi: iOS (iPhone, iPad) ilovalarini yaratishda.
🍏 Apple mahsulotlari uchun rasmiy til.

🔹 Kotlin
📌 Qo‘llaniladi: Android ilovalari (Java o‘rnini bosuvchi zamonaviy til).
Google tomonidan qo‘llab-quvvatlanadi.

🔹 Go (Golang)
📌 Qo‘llaniladi: Server dasturlash, mikroxizmatlar (microservices), tarmoq dasturlari, bulutli tizimlar (cloud services), tizim darajasidagi ilovalar.
Google tomonidan ishlab chiqilgan va faol qo‘llab-quvvatlanadi.

🔹 SQL (Structured Query Language)
📌 Qo‘llaniladi: Ma’lumotlar bazasi bilan ishlash (MySQL, PostgreSQL, Oracle).
📊 Ma’lumotlar bilan ishlovchi dasturchilar uchun muhim.

🔍 Xulosa:
Har bir dasturlash tili o‘ziga xos vazifa va sohalarga ega. Qaysi sohada ishlashni xohlasangiz, o‘sha sohada ommabop tilni tanlash eng to‘g‘ri yo‘l bo‘ladi.
👍1
🚀 FASTAPI: KELAJAK PYTHON FREYMVORKI 🚀
⚡️ Nima uchun har bir Python dasturchisi 2025 yilda FastAPI'ni o'rganishi kerak ⚡️

🔥 FastAPI nima?
FastAPI oddiy veb freymvork emas – bu Python backend ishlanmalarida haqiqiy inqilob! Tezlik, soddalik va zamonaviy Python xususiyatlari uchun yaratilgan, u API ishlanmalarida tez orada asosiy tanlovga aylanmoqda.


FastAPI'ni nima alohida qiladi?
🏎 JUDA YUQORI TEZLIK


Starlette va Pydantic asosida qurilgan
Go va NodeJS bilan tezlikda raqobatlashadi
Flask yoki Django'dan 300% gacha tezroq

💎 ZAMONAVIY PYTHON XUSUSIYATLARI

Python 3.8+ tip ko'rsatmalaridan foydalanadi
Asl async/await qo'llab-quvvatlashi
Callback hell muammosidan xalos!

📝 AVTOMATIK HUJJATLASHTIRISH

O'rnatilgan Swagger UI va ReDoc
Brauzerda interaktiv API testlash
Qo'shimcha sozlashlar talab qilinmaydi

🔒 O'RNATILGAN MA'LUMOTLARNI TEKSHIRISH

Avtomatik so'rovni tekshirish
Aniq xato xabarlari
Xavfsizlik va autentifikatsiya tayyor


💻 Tez boshlash kodi:
pythonfrom fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
return {"message": "Salom Dunyo"}

@app.get("/items/{item_id}")
def read_item(item_id: int, query: str = None):
return {"item_id": item_id, "query": query}


Shunchaki pip install fastapi uvicorn orqali o'rnating va uvicorn main:app --reload bilan ishga tushiring!

🔮 FastAPI'dan kimlar foydalanmoqda?

Netflix
Microsoft
Uber
Facebook'ning Meta AI tizimi

📣 Bizning FastAPI o'rganish sayohatimizga qo'shiling!
Keyingi hafta biz amaliy misollar va haqiqiy loyihalar bilan FastAPI'ni chuqurroq o'rganamiz. Agar biror maxsus mavzu ko'rishni istasangiz, izoh qoldiring!
#PythonDevelopment #FastAPI #WebDevelopment #APIDevelopment #ZamonaviyPython
2🔥1
🧠 remove vs delete — Farqi nimada?
Dasturlashda bu ikki so‘z o‘xshash ko‘rinsa ham, ular bir xil emas. Farqlarni real misollar bilan tushuntiramiz 👇

🔴 delete — butunlay yo‘q qilish
Bu operatsiya ma’lumotni butunlay o‘chiradi. Odatda bu:

- Ma’lumotlar bazasidan o‘chirish
- Faylni diskdan o‘chirish
- Resursni REST API orqali yo‘q qilish

📌 Misol:

DELETE /users/123


Bu foydalanuvchi endi mavjud bo‘lmaydi

🟡 remove — kontekstdan chiqarish
Bu esa, bog‘liqlikni uzish yoki ro‘yxatdan olib tashlash degani. Obyekt o‘zi qoladi, faqat u boshqa joydan chiqariladi.

📌 Misol:

POST /teams/3/remove-user/123


Foydalanuvchi guruhdan chiqariladi, lekin u tizimda qoladi

📌 Taqqoslash:
delete - Ma’lumotni to‘liq yo‘q qiladi, Obyekt yo‘qoladi
remove - Ma’lumotni aloqasidan ajratadi / chiqaradi, Obyekt qoladi

🔚 Xulosa:

delete — radikal o‘chirish
remove — kontekstdan chiqarish

🧑‍💻 Kod yozayotganda bu farqni hisobga olish — toza dizayn va xavfsiz tizim garovi.

#python
https://t.me/simplypythonuz
👍1
🔄 Through model relationship — bu nima?

Djangoda ManyToManyField yordamida ko‘pga-ko‘p aloqalar yaratiladi.
Odatda Django oraliq jadvalni o‘zi avtomatik yaratadi. Lekin ba’zida siz
bu oraliq jadvalga qo‘shimcha ustunlar (sana, baho va h.k.) qo‘shmoqchi
bo‘lasiz
— aynan shunday vaziyatda through modeli kerak bo‘ladi.

Oddiy ManyToMany aloqasi (avtomatik jadval)


class Student(models.Model):
name = models.CharField(max_length=100)

class Course(models.Model):
title = models.CharField(max_length=100)
students = models.ManyToManyField(Student)

🛠 Django bu yerda oraliq jadvalni o‘zi yaratadi. Siz bu jadvalga bevosita
qo‘shimcha ustunlar qo‘sha olmaysiz.

Through model bilan oraliq jadval yaratish


class Student(models.Model):
name = models.CharField(max_length=100)

class Course(models.Model):
title = models.CharField(max_length=100)
students = models.ManyToManyField('Student', through='Enrollment')

class Enrollment(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE)
course = models.ForeignKey(Course, on_delete=models.CASCADE)
enrolled_on = models.DateField()
grade = models.CharField(max_length=2)

📌 Bu yerda Enrollment — oraliq model bo‘lib, u orqali qo‘shimcha ma’lumot
saqlay olamiz (masalan, qachon yozilgan, qanday baho olgan).

📌 Nega through modeli kerak?

🔹 Qo‘shimcha ma’lumot saqlash -> Kursga yozilgan sana, baho, holat
kabi ustunlar qo‘shish mumkin
🔹 To‘liq nazorat -> Validatsiya, signal, metodlar qo‘shish imkoniyati
🔹 Kengroq ishlov -> To‘g‘ridan-to‘g‘ri oraliq model bilan ishlash (filter, update, h.k.)

🧠 Xulosa

Agar oddiy bog‘lanish yetarli bo‘lsa — through kerak emas.
Agar bog‘lanishda qo‘shimcha ma’lumot saqlash kerak bo‘lsa — through
modeli shart.

✍️ Tushunmagan joyingiz haqida kommentariyada yozib qoldiring, unga
qarab qo'shimcha post joylanadi! 😉

#Django #Python #WebDasturlash #ORM #ManyToMany #ThroughModel
https://t.me/simplypythonuz
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Har doim ham kuch kerak bo'lmaydi, aqlni ham sal ishlataylik degan video!🫡
🆔 UUID nima va nima uchun kerak?

uuid — bu Pythonda mavjud bo‘lgan standart modul bo‘lib, globallikda noyob identifikator (UUID) yaratishning tez va oson usulidir.

Bu usul orqali biz tasodifiy 128-bitli raqam hosil qilamiz — u deyarli 100% holatda noyob bo‘ladi.

Tasavvur qiling, mavjud bo‘lgan UUID lar soni 2¹²² dan oshadi! Bu esa 5 undetsilliondan (ya’ni 5,000,000,000,000,000,000,000,000,000,000,000,000) ortiq variant degani!

🔁 Hatto trillionta UUID mavjud bo‘lsa ham, ular orasida dublikat (bir xil) chiqish ehtimoli milliarddan birdan ham kichik.

⚡️ Bu natija atigi ikki qator kod bilan amalga oshadi! 👇


import uuid
print(uuid.uuid4())



🚀 UUID bilan xavfsiz va noyob identifikatorlarni yarating!!!
🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Pythonda bir qator kodda yoziladigan ishni 15 qator kod yozish orqali qiladigan C++ yoki Javachi tanishlarga yuborib qo'yamiz!😜
😁1
📍 textwrap → shorten()

shorten() funksiyasi sizning matningizni berilgan uzunlikka sig‘dira oladi va avtomatik ravishda ortiqcha qismini kesib tashlaydi.

🔸 Matn qisqa bo‘lsa – o‘zgartirmaydi
🔸 Matn uzun bo‘lsa – so‘zlar oxiridan olib tashlanadi
🔸 Oxiriga default [...] yoki ... (biz belgilagan) belgisi qo‘shiladi

📂 Misollar:

from textwrap import shorten

# Qisqartirish shart emas
shorten("Salom dunyo!", width=20)
# ➤ "Salom dunyo!"

# Qisqartirilgan, default placeholder bilan
shorten("Uzoq matnlar uchun qisqartirish kerak", width=30)
# ➤ "Uzoq matnlar uchun [...]"

# Maxsus placeholder bilan qisqartirilgan
shorten("Juda uzun jumla bo‘lsa, qisqartiramiz", width=35, placeholder="...")
# ➤ "Juda uzun jumla bo‘lsa,..."


🧠 Tarixdagi eng elegant matn qisqartirish usuli — textwrap.shorten() bilan tanishing!
👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Biz mumkin emas deb o'ylagan narsalarga oddiy ko'z bilan nigoh!🙄
Nimadir payqadingiz, chamamda!
📌 Python String (matn) metodlari: To‘liq qo‘llanma 🔠

Pythonda matn (string) bilan ishlash juda qulay va kuchli metodlar to‘plami mavjud. Quyida eng ko‘p ishlatiladigan metodlar va ularning ishlash misollari keltirilgan 👇

🔹 upper() — matndagi barcha harflarni KATTA harfga aylantiradi


text = "salom"
print(text.upper()) # 'SALOM'


🔹 lower() — matndagi barcha harflarni kichik harfga aylantiradi


text = "SALOM"
print(text.lower()) # 'salom'


🔹 capitalize() — faqat birinchi harfni katta harfga aylantiradi


text = "python dasturlash"
print(text.capitalize()) # 'Python dasturlash'


🔹 title() — har bir so‘zning bosh harfini katta qiladi


text = "python dasturlash tili"
print(text.title()) # 'Python Dasturlash Tili'


🔹 strip() — matn boshidagi va oxiridagi bo‘sh joylarni olib tashlaydi


text = " salom "
print(text.strip()) # 'salom'


🔹 replace(old, new) — matndagi old qismini new ga almashtiradi


text = "python yaxshi"
print(text.replace("yaxshi", "zo‘r")) # 'python zo‘r'


🔹 split(sep) — matnni ajratib, ro‘yxatga (list) aylantiradi


text = "olma,banan,anor"
print(text.split(",")) # ['olma', 'banan', 'anor']


🔹 join(list) — ro‘yxatdagi elementlarni bitta stringga qo‘shadi


fruits = ['olma', 'banan', 'anor']
print(", ".join(fruits)) # 'olma, banan, anor'


🔹 find(sub) — substringning indeksini qaytaradi (topilmasa -1)


text = "hello world"
print(text.find("world")) # 6


🔹 startswith(sub) / endswith(sub) — matn berilgan qism bilan boshlanadimi/tugaydimi tekshiradi


print("hello".startswith("he")) # True
print("hello".endswith("lo")) # True


🔹 isalpha() / isdigit() / isalnum() — faqat harfmi, raqammi yoki harf+raqammi tekshiradi


print("python".isalpha()) # True
print("123".isdigit()) # True
print("abc123".isalnum()) # True


🔹 zfill(width) — matnni width uzunlikka yetkazish uchun boshiga 0 qo‘shadi


print("42".zfill(5)) # '00042'


Ushbu metodlar matnlar bilan ishlashni oson va samarali qiladi. Dasturlash jarayonida juda foydali!

🧑‍💻 Siz yana qaysi metod yoki mavzuni o‘rganmoqchisiz? Izohda yozing!
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Junior dasturchi vs Senior dasturchi!! Farq faqat shundamas😂
📌 Python: int (butun son) tipidagi o'zgaruvchilar haqida

🔢 int — bu Pythondagi butun sonli o'zgaruvchi turi. Keling, u bilan bog'liq foydali metod va funksiyalarni ko‘rib chiqamiz.

🔹 1. .bit_length()
Sonni yozish uchun kerak bo‘lgan bitlar sonini qaytaradi.


x = 37
print(x.bit_length()) # ➝ 6


🔹 2. .to_bytes(length, byteorder)
Sonni baytlarga o‘giradi.


x = 1024
b = x.to_bytes(2, byteorder='big')
print(b) # ➝ b'\x04\x00'


🔹 3. int.from_bytes(bytes, byteorder)
Baytdan son hosil qiladi.


b = b'\x04\x00'
x = int.from_bytes(b, byteorder='big')
print(x) # ➝ 1024


🔹 4. Dunder metodlar (__add__, __sub__, ...)
Arifmetik amallar uchun ichki metodlar:


x = 10
print(x.__add__(5)) # ➝ 15


🔹 5. int() funksiyasi
Turli turlardan butun songa o‘tkazish:


print(int("123")) # ➝ 123
print(int(12.8)) # ➝ 12
print(int(True)) # ➝ 1


🔹 6. math modulidagi funksiyalar
int bilan ishlaganda foydali bo‘ladigan funksiyalar:


import math

print(math.factorial(5)) # ➝ 120
print(math.gcd(24, 36)) # ➝ 12


Bonus:
Agar int tipidagi barcha metodlarni ko‘rmoqchi bo‘lsangiz:


print(dir(int))


💡 int — oddiy ko‘ringan bo‘lsa ham, kuchli imkoniyatlarga ega! Kodlaringizda undan to‘g‘ri foydalaning 😉
This media is not supported in your browser
VIEW IN TELEGRAM
Yozgan dasturi ishlamaganda, dasturchilarning muammoga yechim topish jarayoni! (hazil)😎
📊 Python: multimode() funksiyasi haqida batafsil

multimode() — bu statistics moduliga tegishli funksiya bo‘lib, berilgan ma'lumotlar ichida eng ko‘p uchraydigan element(lar) ro‘yxatini qaytaradi.

🔍 multimode() funksiyasi nima qiladi?

- multimode(data) funksiyasi data ichidagi eng ko‘p takrorlangan qiymat(moda)larni aniqlaydi.
- U bir nechta qiymatni qaytarishi mumkin — agar ularning takrorlanish soni bir xil bo‘lsa.
- Agar data bo‘sh bo‘lsa, u holda bo‘sh ro‘yxat ([]) qaytariladi.

📥 Argument:
data — bu istalgan iterable (masalan, list, tuple, str, set, h.k.)

📤 Natija:
Eng ko‘p uchragan qiymat(lar) ro‘yxati (list shaklida)

Foydalanish misollari:


from statistics import multimode

# Misol 1: bir nechta moda bor
print(multimode([1, 2, 2, 3, 3]))
# ➝ [2, 3] (ikkalasi ham 2 marta uchragan)

# Misol 2: faqat bitta moda bor
print(multimode([4, 4, 4, 5, 6]))
# ➝ [4]

# Misol 3: bo'sh ro'yxat
print(multimode([]))
# ➝ []


📌 Foydali eslatmalar:

- multimode() qiymatlarni aniqlangan tartibda qaytaradi — ya’ni data ichida qanday ketma-ketlikda bo‘lsa, shunday tartibda chiqadi.
- Bu funksiya mode() funksiyasidan farqli o‘laroq bir nechta modani qaytarishi mumkin, mode() esa faqat bitta moda beradi va ko‘p moda bo‘lsa xatolik chiqaradi.

🎯 Qayerda foydali?

- Ma’lumotlar tahlilida eng ko‘p uchraydigan qiymatlarni aniqlashda
- O‘quvchilar baholarini, so‘rovnoma natijalarini tahlil qilishda
- Statistika asosida qarorlar chiqarishda

💡 Misol hayotdan:
Agar sizda baholar ro‘yxati bo‘lsa:


grades = [5, 4, 5, 3, 4, 4, 5]
print(multimode(grades)) # ➝ [4, 5]


Demak, 4 va 5 eng ko‘p uchrayotgan baholar ekan.

🧠 Esda tuting:
multimode() — bu oddiy, lekin kuchli vosita. U sizga bir necha moda borligini aniqlash imkonini beradi — bu esa real statistik tahlilda juda muhim.
🔥1
🌐 Python: webbrowser moduli orqali veb-sahifa ochish

Agar siz Python dasturingizdan avtomatik tarzda brauzerda sayt ochmoqchi bo‘lsangiz — webbrowser moduli aynan siz uchun!

🔧 Asosiy funksiyasi:


import webbrowser

webbrowser.open("https://www.google.com")


Yuqoridagi kod — sizning standart brauzeringizda Google saytini ochadi.

📌 Foydali qo‘shimcha funksiyalar:

1. webbrowser.open_new(url)
Yangi brauzer oynasida sahifani ochadi.


webbrowser.open_new("https://t.me/python_uz")


2. webbrowser.open_new_tab(url)
Yangi tabda sahifani ochadi (agar mavjud bo‘lsa).


webbrowser.open_new_tab("https://youtube.com")


💡 Qayerda ishlatiladi?

- Telegram bot yoki GUI dasturdan sahifani ochish
- Hujjat, video, manba yoki havolani avtomatik ishga tushirish
- O‘quv loyihalarda foydalanuvchiga sayt ko‘rsatish

📎 Eslatma:

- webbrowser — bu Python'ga standart o‘rnatilgan modul, alohida o‘rnatish shart emas.
- Internetga ulangan bo‘lishingiz kerak.

Misol: Foydalanuvchi o‘zi tanlagan sahifani ochish:


url = input("Sayt manzilini kiriting: ")
webbrowser.open(url)


🚀 Foydali, oddiy va juda qulay!
webbrowser — bu dasturingizni real dunyo bilan bog‘lashning eng oson yo‘llaridan biri!
Query JSON

📌 JMESPath nima?

JMESPath — bu JSON uchun so‘rov tili bo‘lib, murakkab tuzilmadagi JSON'dan kerakli ma’lumotni juda oson va aniq tarzda ajratib olish imkonini beradi. Python’da jmespath kutubxonasi orqali ishlatiladi.

🔧 Foydasi nimada?
JSON'ni qidirish juda sodda bo‘ladi
Murakkab tuzilmalar bilan ishlash osonlashadi
So‘rovlar aniq va ixcham yoziladi

🧪 Misol: Ko‘p elementli murakkab JSON bilan ishlash


import jmespath

data = {
"company": {
"name": "TechSoft",
"location": "Tashkent",
"departments": [
{
"name": "Engineering",
"employees": [
{"name": "Ali", "age": 30, "skills": ["Python", "C++"]},
{"name": "Laylo", "age": 27, "skills": ["Java", "Kotlin"]}
]
},
{
"name": "Marketing",
"employees": [
{"name": "Vali", "age": 24, "skills": ["SEO", "Content"]},
{"name": "Zarina", "age": 29, "skills": ["SMM", "Copywriting"]}
]
}
]
}
}


🔍 1. Barcha xodimlarning ismlarini olish:


result = jmespath.search("company.departments[*].employees[*].name", data)
# Natija: [['Ali', 'Laylo'], ['Vali', 'Zarina']]


🔍 2. Faqat Engineering bo‘limidagi xodimlar yoshi:


result = jmespath.search("company.departments[?name=='Engineering'].employees[*].age", data)
# Natija: [[30, 27]]


🔍 3. Marketing bo‘limidagi barcha skill'lar:


result = jmespath.search("company.departments[?name=='Marketing'].employees[*].skills", data)
# Natija: [[['SEO', 'Content'], ['SMM', 'Copywriting']]]


🔗 Ko‘proq o‘rganish uchun: jmespath.org
📦 Python kutubxonasi: pip install jmespath
🔥1