Barcha kurslar Yo'nalishlar Reyting Kirish Ro'yxatdan o'tish

Bu bo'limda dasturning "xotirasi" — o'zgaruvchilar hamda ikkita eng ko'p ishlatiladigan ma'lumot turi o'rganildi: matnlar (str) va sonlar (int, float).

O'zgaruvchilar

O'zgaruvchi — qiymatga qo'yilgan nom. = belgisi matematikadagi "teng" emas, "qiymat berish" amali: o'ngdagi qiymat hisoblanadi va chapdagi nomga bog'lanadi.

ism = "Dilnoza"
yosh = 24
yosh = yosh + 1      # eski qiymat o'qildi, 1 qo'shildi, ustiga yozildi
print(ism, yosh)

Natija:

Dilnoza 25

yosh = yosh + 1 qatori matematikada ma'nosiz, dasturlashda esa eng ko'p ishlatiladigan amal: "yoshning joriy qiymatini olib, bittaga oshirib, qaytadan yoshga yoz". Qisqa yozuvi: yosh += 1.

Nomlash qoidalari:

To'g'ri Noto'g'ri Sababi
ism_2 2ism Raqam bilan boshlanmaydi
mening_ismim mening ismim Bo'sh joy taqiqlangan
narx_som narx-som - ayirish deb tushuniladi
talaba class Kalit so'zlar band

Yaxshi amaliyot: nom qiymatning ma'nosini aytsin — x emas, narx; d emas, kunlar. Kod kompyuterga emas, birinchi navbatda odamga o'qishli bo'lishi kerak.

Tipik xato — nomni keyin boshqacha yozish:

Ism = "Aziz"
print(ism)

Natija:

NameError: name 'ism' is not defined. Did you mean: 'Ism'?

Katta-kichik harf farqlanadi: Ism va ism — ikki xil nom. Python ko'pincha "Did you mean" bilan yechimni ham taklif qiladi — xabarni oxirigacha o'qing.

Matnlar (str)

Matn — qo'shtirnoq ichidagi belgilar ketma-ketligi. Har bir belgining o'z tartib raqami (indeksi) bor va sanoq 0 dan boshlanadi:

kurs = "Python asoslari"
print(len(kurs))     # uzunligi (bo'sh joy ham belgi!)
print(kurs[0])       # birinchi belgi
print(kurs[-1])      # oxirgi belgi (manfiy indeks oxiridan sanaydi)

Natija:

15
P
i

Eng kerakli matn metodlari:

print(kurs.upper())        # katta harflarga
print(kurs.lower())        # kichik harflarga
print(kurs.title())        # Har So'z Bosh Harf Bilan
print(kurs.replace("Python", "JavaScript"))

Natija:

PYTHON ASOSLARI
python asoslari
Python Asoslari
JavaScript asoslari

Muhim: metodlar asl matnni o'zgartirmaydi — yangi matn qaytaradi. kurs hali ham "Python asoslari"ligicha turibdi; natija kerak bo'lsa, o'zgaruvchiga oling: katta = kurs.upper().

f-string — matn ichiga qiymat joylash

Matn va o'zgaruvchilarni birga chiqarishning zamonaviy usuli: matn oldiga f qo'yiladi, qiymat {} ichida yoziladi. Qavslar ichida hisob ham ishlaydi:

ism = "Aziz"
yosh = 30
print(f"{ism} {yosh} yoshda; 5 yildan keyin {yosh + 5} bo'ladi")

Natija:

Aziz 30 yoshda; 5 yildan keyin 35 bo'ladi

f-string'gacha matnlar + bilan ulanardi — "Salom, " + ism + "!" — ishlaydi, lekin son qatnashsa avval str() bilan o'girish kerak bo'ladi. f-string bu tashvishni butunlay olib tashlaydi.

Sonlar: int va float

  • int — butun son: 42, -7, 0
  • float — o'nlik kasr: 3.14, -0.5. Kasr nuqta bilan yoziladi, vergul bilan emas.

Turni type() bilan aniqlash va o'zaro o'girish:

print(type(42))
print(type(3.14))
print(int("250") + 50)    # matndan songa
print(float(7))           # butundan kasrga
print(int(3.99))          # kasrdan butunga: YAXLITLAMAYDI, kesadi!
print(round(3.567, 2))    # yaxlitlash kerak bo'lsa — round

Natija:

<class 'int'>
<class 'float'>
300
7.0
3
3.57

Matn va son — har xil dunyolar

Eng ko'p uchraydigan boshlang'ich xato — "5" (matn) bilan 5 (son)ni aralashtirish:

print("5" + 5)

Natija:

TypeError: can only concatenate str (not "int") to str

+ matnlar uchun "ulash", sonlar uchun "qo'shish" — lekin aralash holda Python nimani xohlayotganingizni bilmaydi. Yechim — turni aniq keltirish: int("5") + 510, yoki "5" + str(5)"55".

Bu farq input() bilan ishlaganda hal qiluvchi bo'ladi (keyingi bo'limlarda): foydalanuvchi kiritgan qiymat har doim matn, son sifatida ishlatishdan oldin int() yoki float() bilan o'giriladi.

Eslab qoling

  • = — qiymat berish; yosh += 1 — joriy qiymatni oshirish.
  • Nomlar ma'noli bo'lsin; katta-kichik harf farqlanadi.
  • Indekslar 0 dan; len() — uzunlik; metodlar yangi matn qaytaradi.
  • f-string — f"{o'zgaruvchi}" — matn yig'ishning asosiy usuli.
  • int(x), float(x), str(x) — turlar orasida o'girish; int() kasrni kesadi, round() yaxlitlaydi.
  • Matn + son = TypeError; avval bir turga keltiring.

Amaliyot

  1. ism, yosh, shahar o'zgaruvchilarini yaratib, bitta f-string bilan to'liq gap chiqaring.
  2. matn = "dasturlash" uchun: uzunligini, bosh harfli (title) variantini, birinchi va oxirgi belgisini chiqaring.
  3. Radiusi 5 bo'lgan doira yuzini hisoblang (3.14159 * r ** 2), natijani round bilan 2 xonagacha yaxlitlang va turini type() bilan tekshiring.
  4. "19" matnini songa o'girib 1 qo'shing; natijani f-string ichida "Kelasi yil ... yoshga to'lasiz" gapida ishlating.
  5. narx = 125000 va soni = 3 uchun umumiy summani hisoblab, f"Jami: {narx * soni} so'm" ko'rinishida chiqaring.
  6. Ataylab "5" + 5 yozib xatoni o'qing; keyin ikkala usulda (songa o'girib, matnga o'girib) tuzating va natijalar farqini tushuntiring.

Bo'lim testi shu mavzularni qamrab oladi.

O'zgaruvchilar va ma'lumot turlari — konspekt

O'zgaruvchilar va ma'lumot turlari Maqola

O'zgaruvchilar, matnlar va sonlar bilan ishlashning asosiy qoidalari — bir sahifada.

Eslatma yozish uchun saytga kiring.

Resurslar hozircha qo'shilmagan

O'qituvchi dars uchun qo'shimcha materiallarni qo'shganida shu yerda paydo bo'ladi.

Savol berish uchun saytga kiring.

Hozircha savollar yo'q

Bu dars yuzasidan birinchi savolni siz bering.