← Back to list

P Y T H O N Asoslari: dars 2.

Reja: Data Types · List · Dict · Funksiya

Sevaraa · 2026-06-07 22:11 · 4 claps · 5.0 min read
#ml-engineering #coding #students #ai-engineering #deep-learning
Open on Medium ↗
Wiki topics: ML · Machine Learning EDU · Education & Learning 💻 · Programming

ML kursi

P Y T H O N Asoslari: dars 2.

Reja: Data Types · List · Dict · Funksiya

Ma’lumot turlari (Data Types) Python’da har bir qiymat ma’lum bir turga ega.Keling eng asosiy 4 ta sini ko’rib chiqamiz:

int — Butun son

x = 10

float — Kasr

son x = 3.14

str — Matn

x = "Salom"

bool — Mantiqiy

x = True

1️⃣ INT — Butun sonlar

x = 10
y = -5
z = 0

# Amallar
print(10 + 3)   # 13
print(10 - 3)   # 7
print(10 * 3)   # 30
print(10 / 3)   # 3.333... ← bu float qaytaradi!
print(10 // 3)  # 3        ← butun bo'lish (qoldiqsiz)
print(10 % 3)   # 1        ← qoldiq (juft/toq tekshirishda ishlatiladi)
print(10 ** 3)  # 1000     ← daraja (10 ning 3-darajasi)

Ko’p ishlatiladi:

# Juft/toq tekshirish
son = 7
if son % 2 == 0:
    print("Juft")
else:
    print("Toq")

⚠️ Istisnolar:

# / har doim float qaytaradi
print(10 / 2)    # 5.0 ← 5 emas!
print(type(10/2)) # float

# Nolga bo'lish — xato!
print(10 / 0)    # ZeroDivisionError ← dastur to'xtaydi

2️⃣ FLOAT — Kasr sonlar

x = 3.14
y = -0.5
z = 2.0    # butun ko'rinsa ham float

# Foydali funksiyalar
print(round(3.14159, 2))  # 3.14  ← 2 xonagacha yaxlitlash
print(round(3.7))         # 4     ← butun songa yaxlitlash
print(abs(-5.5))          # 5.5   ← mutlaq qiymat (manfiyni musbatga)

⚠️ Istisnolar:

# Float aniq emas! (kompyuter kasrlarni to'liq saqlay olmaydi)
print(0.1 + 0.2)          # 0.30000000000000004 ← 0.3 emas!

# Yechim — round() ishlat
print(round(0.1 + 0.2, 2))  # 0.3

3️⃣ STR — Matn (String)

ism = "Ali"
gap = 'Salom dunyo'        # ' yoki " — ikkalasi ham ishlaydi
uzun = """Bu
ko'p qatorli
matn"""

Eng ko’p ishlatiladigan metodlar:

matn = "  Salom Dunyo  "

matn.lower()        # "  salom dunyo  "   ← hammasi kichik
matn.upper()        # "  SALOM DUNYO  "   ← hammasi katta
matn.strip()        # "Salom Dunyo"       ← bosh/oxirdagi bo'sh joy o'chadi
matn.replace("Salom", "Xayr")  # "  Xayr Dunyo  "
matn.split()        # ["Salom", "Dunyo"]  ← so'zlarga bo'ladi
len(matn)           # 15                  ← uzunlik (bo'shliqlar bilan)

# Tekshirish metodlari
"ali123".isdigit()  # False ← faqat raqammi?
"123".isdigit()     # True
"Ali".isalpha()     # True  ← faqat harfmi?
"ali".startswith("a")  # True
"ali".endswith("i")    # True
"Salom" in matn        # True ← ichida bormi?

String birlashtirish:

ism = "Ali"
yosh = 20

# 3 usul — hammasi ishlaydi
print("Salom " + ism)              # + bilan (faqat str + str)
print("Salom", ism, "yosh:", yosh) # vergul bilan
print(f"Salom {ism}, yosh: {yosh}") # f-string ← ENG QULAY usul

⚠️ Istisnolar:

# str + int bo'lmaydi!
print("Yosh: " + 20)      # TypeError!

# Yechim — str() ga o'tkazish
print("Yosh: " + str(20)) # "Yosh: 20"

# Indeks — 0 dan boshlanadi
matn = "Salom"
print(matn[0])   # S
print(matn[-1])  # m  ← oxirgi element
print(matn[1:3]) # al ← kesib olish (slice)

4️⃣ BOOL — Mantiqiy qiymat

rost = True
yolg = False

# Taqqoslash natijalari bool qaytaradi
print(5 > 3)    # True
print(5 == 3)   # False
print(5 != 3)   # True

Mantiqiy operatorlar:

# and — ikkalasi ham True bo'lsa True
print(True and True)   # True
print(True and False)  # False

# or — bittasi True bo'lsa True
print(True or False)   # True
print(False or False)  # False

# not — teskarisiga o'giradi
print(not True)        # False
print(not False)       # True

⚠️ Istisnolar — nima False hisoblanadi:

# Bular hammasi False:
bool(0)      # False  ← nol
bool("")     # False  ← bo'sh string
bool([])     # False  ← bo'sh list
bool({})     # False  ← bo'sh dict
bool(None)   # False  ← None

# Qolganlari True:
bool(1)      # True
bool("a")    # True
bool([1,2])  # True

Undan tashqari shu linkni ustiga bosangiz python asoslarini vd darslik orqali ham o’rganishingiz mumkin.

List (Ro’yxat)

List — tartibli va o’zgaruvchan elementlar to’plami. Indeks 0 dan boshlanadi

# Yaratish
mevalar = ["olma", "banan", "gilos"]
raqamlar = [1, 2, 3, 4, 5]
aralash  = [1, "salom", True, 3.14]  # har xil turlar bo'lishi mumkin

# Indeks — 0 dan boshlanadi
print(mevalar[0])   # olma
print(mevalar[-1])  # gilos ← oxirgi element
print(mevalar[1:3]) # ["banan", "gilos"] ← kesib olish

Asosiy metodlar:

lst = [3, 1, 4, 1, 5]

lst.append(9)        # [3,1,4,1,5,9]    ← oxiriga qo'shish
lst.insert(0, 99)    # [99,3,1,4,1,5,9] ← indeksga qo'shish
lst.remove(1)        # birinchi 1 ni o'chiradi
lst.pop()            # oxirgisini o'chirib qaytaradi
lst.pop(0)           # 0-indeksni o'chirib qaytaradi
lst.sort()           # kichikdan kattaga tartiblash (o'zini o'zgartiradi)
lst.reverse()        # teskari qiladi
lst.count(1)         # 1 nechta borligini hisoblaydi
lst.index(4)         # 4 ning indeksini qaytaradi
lst.clear()          # hammasini o'chiradi

len(lst)             # uzunlik
sum(lst)             # yig'indi
max(lst)             # eng katta
min(lst)             # eng kichik
sorted(lst)          # yangi tartiblangan list qaytaradi (o'zini o'zgartirmaydi)

Dictionary (Dict)

Dict — kalit (key) va qiymat (value) juftliklari to’plami. Kalit orqali qiymatga murojaat qilinadi.

# Yaratish
talaba = {
    "ism": "Ali",
    "yosh": 20,
    "ballar": [85, 90, 78]   # dict ichida list bo'lishi mumkin!
}

# Olish
print(talaba["ism"])          # Ali
print(talaba["ballar"][0])    # 85 ← list ichidan olish

# Qo'shish / o'zgartirish
talaba["shahar"] = "Toshkent"  # yangi kalit
talaba["yosh"] = 21            # mavjudini o'zgartirish

⚠️ Istisnolar:

d = {"a": 1}

d["z"]          # KeyError — "z" kaliti yo'q!

# Yechim 1 — get() ishlat
d.get("z", 0)   # 0 qaytaradi, xato bermaydi

# Yechim 2 — avval tekshir
if "z" in d:
    print(d["z"])

Funksiya (Function)

Funksiya — muayyan vazifani bajaruvchi, qayta ishlatiladigan kod bloki. def bilan e’lon qilinadi

# Oddiy funksiya
def salomlash(ism):
    print(f"Salom, {ism}!")

salomlash("Ali")    # Salom, Ali!

# Return bilan
def yigindi(a, b):
    return a + b

natija = yigindi(3, 5)
print(natija)       # 8

# Default parametr
def salomlash(ism, til="UZ"):
    if til == "UZ":
        print(f"Salom, {ism}!")
    else:
        print(f"Hello, {ism}!")

salomlash("Ali")           # Salom, Ali!
salomlash("Ali", "EN")     # Hello, Ali!

# Ko'p qiymat qaytarish
def min_max(lst):
    return min(lst), max(lst)

kichik, katta = min_max([3, 1, 4, 1, 5])
print(kichik, katta)   # 1 5

⚠️ Istisnolar:

# return yo'q funksiya None qaytaradi
def test(x):
    x * 2          # return yo'q!

print(test(5))     # None ← 10 emas!

# O'zgaruvchi scope — funksiya ichidagi tashqarida ko'rinmaydi
def hisob():
    ichki = 100

print(ichki)       # NameError — ichki tashqarida yo'q!

TEST — 15 ta savol (ichida new dictionary ham bo’lishi mumkin)

# 1. Natija nima?
lst = [1, 2, 3]
lst.append([4, 5])
print(len(lst))

# 2. Natija nima?
print([1,2,3][-1])

# 3. Xato bormi?
d = {"a": 1}
print(d["b"])

# 4. Natija nima?
d = {"a": 1}
print(d.get("b", 99))

# 5. Natija nima?
def f(x):
    x * 2
print(f(5))

# 6. Natija nima?
for i in range(2, 8, 2):
    print(i)

# 7. Natija nima?
jami = 0
for i in range(1, 5):
    jami += i
print(jami)

# 8. Natija nima?
lst = [1,2,3,4,5]
for x in lst:
    if x == 3:
        break
    print(x)

# 9. Natija nima?
lst = [1,2,3,4,5]
for x in lst:
    if x == 3:
        continue
    print(x)

# 10. Natija nima?
a, b = min_max([4, 1, 7, 2])  # yuqoridagi min_max funksiya
print(a, b)

# 11. Natija nima?
print("salom".upper())

# 12. Natija nima?
lst = [3, 1, 2]
lst.sort()
print(lst)

# 13. Xato bormi?
print("yosh: " + 25)

# 14. Natija nima?
d = {"a":1, "b":2}
d.update({"c": 3})
print(len(d))

# 15. Natija nima?
son = 1
while son < 4:
    print(son)
    son += 1

Uyga vazifa va qo’shimcha manbalar

1 10 ta mahsulot nomini list'ga, narxlarini dict'ga joylang
2 Ikki sonning ko'paytmasini hisoblovchi funksiya yozing
3 Foydalanuvchidan ism so'rab, salomlashuvchi funksiya tuzing
4 3 do'stingiz ism va telefonini dict'ga saqlang, biriga murojaat qiling
5 Uchburchak perimetrini hisoblovchi funksiya (a, b, c)

Qo’shimcha manbalar:

docs.python.org ← rasmiy hujjatlar

w3schools.com/python ←interaktiv mashqlar

pythontutor.com ←kodni qadamba-qadam vizual

hackerrank.com/python ←amaliy masalalar

Dars xulosasi (Recap)

Ma’lumot turlari — int, float, str, bool — har biri turli ma’lumot

List — Tartibli ro’yxat; append, remove, len

Dictionary — Kalit-qiymat; dict[key] orqali murojaat

Funksiya — def bilan e’lon; parametr va return

08.08.2026


메타데이터
post_id
97c68bb394aa
slug
p-y-t-h-o-n-asoslari-dars-2-97c68bb394aa
url
https://medium.com/@sevaraa.2411/p-y-t-h-o-n-asoslari-dars-2-97c68bb394aa
canonical_url
https://medium.com/@sevaraa.2411/p-y-t-h-o-n-asoslari-dars-2-97c68bb394aa
author_url
https://medium.com/@sevaraa.2411
status
ok
fetched_at
2026-06-15 22:55:51