O'zgaruvchilar, print() va input()
Bu bobda
print()bilan ekranga yozishni- izoh (comment) yozishni
- o'zgaruvchi nima ekanini va uni to'g'ri nomlashni
input()bilan foydalanuvchidan ma'lumot olishnitype()bilan qiymat turini bilishni
print(): birinchi dastur
Har bir dasturchi birinchi bo'lib ekranga biror narsa yozadi. Pythonda buning uchun print() funksiyasi bor. Qavs ichiga nima yozsangiz, o'sha ekranga chiqadi.
print("Salom, dunyo!") print("Men Python o'rganyapman")
Salom, dunyo! Men Python o'rganyapman
Matn qo'shtirnoq "..." yoki bittalik tirnoq '...' ichida yoziladi. Ikkalasi bir xil ishlaydi. Agar matnning ichida apostrof bo'lsa (o'zbek tilida juda ko'p: o'rganyapman, bog'), tashqarisiga qo'shtirnoq qo'ying:
print("O'zbekiston") print('Kitob nomi: "Python asoslari"')
O'zbekiston Kitob nomi: "Python asoslari"
print() ga bir nechta qiymatni vergul bilan bersangiz, ular orasiga bitta probel qo'yib chiqaradi. Sonlarni qo'shtirnoqsiz yozamiz:
print("Yoshim:", 20) print(2026, "yil", 10, "oy")
Yoshim: 20 2026 yil 10 oy
sep va end
sep qiymatlar orasiga nima qo'yishni, end esa satr oxiriga nima qo'yishni belgilaydi. Odatda sep=" " va end="\n" (yangi qator).
print(14, 10, 2026, sep=".") print("Bir", end=" ") print("qatorda")
14.10.2026 Bir qatorda
Izohlar (comment)
# belgisidan keyin yozilgan narsani Python o'qimaydi. Izoh kodni o'qiydigan odam uchun yoziladi: siz uchun, bir oydan keyin, yoki jamoadoshingiz uchun.
# Bu qator ishlamaydi, bu izoh print("Bu qator ishlaydi") # qator oxirida ham izoh yozsa bo'ladi
Bu qator ishlaydi
Eslatma
Yaxshi izoh kod nima uchun shunday yozilganini tushuntiradi. "Bu yerda 2 ga ko'paytiramiz" degan izoh kerak emas, buni kodning o'zi aytib turibdi.
O'zgaruvchi nima?
O'zgaruvchi — qiymatga yopishtirilgan yorliq (label). = belgisi o'ngdagi qiymatni olib, chapdagi nomga bog'laydi. Keyin shu nom orqali qiymatga murojaat qilamiz.
ism = "Abulqosim" yosh = 23 print(ism) print(yosh)
Abulqosim 23
Bu yerda = matematikadagi "teng" emas. Uni "bog'la" deb o'qing: "yosh nomini 23 ga bog'la".
O'zgaruvchining qiymatini istalgan vaqtda o'zgartirish mumkin. Shuning uchun u o'zgaruvchi deyiladi:
ball = 70 print("Oldin:", ball) ball = 85 print("Keyin:", ball)
Oldin: 70 Keyin: 85
O'ng tomonda o'zgaruvchining o'zi ham qatnashishi mumkin. Python avval o'ng tomonni hisoblaydi, keyin natijani chapdagi nomga bog'laydi:
hisob = 100 hisob = hisob + 50 print(hisob)
150
Hayotdan misol
Telefoningizdagi kontakt: "Onam" — yorliq, raqam esa qiymat. Onangiz raqamini almashtirsa, siz yangi kontakt ochmaysiz, "Onam" yorlig'idagi raqamni yangilaysiz. O'zgaruvchi ham xuddi shunday.
Nomlash qoidalari
Python o'zgaruvchi nomlariga qat'iy qoidalar qo'yadi:
| Qoida | To'g'ri | Noto'g'ri |
|---|---|---|
Harf yoki _ bilan boshlanadi |
ism, _ism, ism2 |
2ism |
Faqat harf, raqam va _ |
talaba_soni |
talaba-soni, talaba soni |
| Kalit so'z bo'lmasin | sinf |
class, if, for |
| Katta-kichik harf farq qiladi | ism, Ism, ISM — uchta har xil o'zgaruvchi |
Qoidani buzsangiz, Python dasturni umuman ishga tushirmaydi:
2ism = "Ali"
SyntaxError: invalid syntax (<kitob>, line 1)
talaba-soni = 25
SyntaxError: cannot assign to expression here. Maybe you meant '==' instead of '='? (<kitob>, line 1)
Ikkinchi xatoni diqqat bilan o'qing: Python - ni ayirish deb tushundi. talaba - soni — bu hisoblash (expression), hisoblashga esa qiymat berib bo'lmaydi: cannot assign to expression.
Yaxshi nom qanday bo'ladi?
- Pythonda so'zlar
_bilan ajratiladi:talaba_soni,oylik_maosh. Bu uslub snake_case deyiladi. - Nom ma'noli bo'lsin:
xemas,narx;a1emas,birinchi_son. - Juda uzun ham bo'lmasin:
foydalanuvchining_tug_ilgan_yiliemas,tug_yil.
print ni o'zgaruvchi qilib qo'yish
Python o'zining funksiyalari nomini (print, input, type, sum, list) o'zgaruvchiga berishga ruxsat beradi, lekin keyin u funksiya ishlamay qoladi:
print = "salom" print("Nega ishlamayapti?")
TypeError: 'str' object is not callable
print endi funksiya emas, oddiy matn. Matnni esa "chaqirib" bo'lmaydi. Jupyterda bunday bo'lsa, yorliqni o'chiring: del print.
del print print("print yana ishlayapti")
print yana ishlayapti
NameError: yo'q nom
Agar mavjud bo'lmagan nomga murojaat qilsangiz, Python NameError beradi. Ko'pincha sababi oddiy yozuv xatosi:
xabar = "Darsga xush kelibsiz" print(xabr)
NameError: name 'xabr' is not defined
Python aniq aytdi: xabr degan nom aniqlanmagan (not defined). Jupyterda xabar oxirida ko'pincha maslahat ham chiqadi: Did you mean: 'xabar'? Xato xabarini o'qishni odat qiling, u ko'pincha javobni o'zi aytadi.
Bir qatorda bir nechta o'zgaruvchi
Vergul bilan bir nechta nomga bir yo'la qiymat berish mumkin. Chapda nechta nom bo'lsa, o'ngda shuncha qiymat bo'lishi kerak:
a, b, c = "olma", "anor", "behi" print(a, b, c) x = y = z = 0 print(x, y, z)
olma anor behi 0 0 0
Bu usul bilan ikki o'zgaruvchining qiymatini almashtirish juda oson. Boshqa tillarda buning uchun uchinchi o'zgaruvchi kerak bo'ladi:
a = 5 b = 9 a, b = b, a print("a =", a, "b =", b)
a = 9 b = 5
Python avval o'ng tomondagi b, a ni, ya'ni 9, 5 ni oladi, keyin ularni a va b ga tarqatadi.
Soni mos kelmasa
a, b = 1, 2, 3
ValueError: too many values to unpack (expected 2)
f-string: matn ichiga qiymat qo'yish
Matn ichiga o'zgaruvchining qiymatini qo'yish uchun qo'shtirnoq oldiga f harfini yozamiz, o'zgaruvchini esa {} ichiga olamiz. Bu f-string deyiladi:
ism = "Otabek" yosh = 19 print(f"Mening ismim {ism}, yoshim {yosh} da.")
Mening ismim Otabek, yoshim 19 da.
{} ichida hisoblash ham yozsa bo'ladi:
yosh = 19 print(f"Besh yildan keyin {yosh + 5} yoshda bo'laman.")
Besh yildan keyin 24 yoshda bo'laman.
f ni unutish
f bo'lmasa, Python {ism} ni oddiy matn deb chiqaradi:
ism = "Otabek" print("Salom, {ism}")
Salom, {ism}input(): foydalanuvchidan ma'lumot olish
input() dasturni to'xtatib, foydalanuvchi biror narsa yozib Enter bosishini kutadi. Yozilgan matn o'zgaruvchiga tushadi. Qavs ichidagi matn — foydalanuvchiga ko'rsatiladigan savol.
ism = input("Ismingizni kiriting: ") print("Salom,", ism)
Ismingizni kiriting: Sarvinoz Salom, Sarvinoz
Kitobda kiritilgan qiymat savolning yonida ko'rinadi, xuddi Jupyterdagi kabi.
qayerdan = input("Qayerdan: ") qayerga = input("Qayerga: ") print(qayerdan, "->", qayerga)
Qayerdan: Toshkent Qayerga: Samarqand Toshkent -> Samarqand
Muhim
input() har doim matn (str) qaytaradi, hatto foydalanuvchi son yozsa ham. Bu juda ko'p xatoga sabab bo'ladi. Keyingi bobda buni qanday tuzatishni ko'ramiz.
type(): bu qanday qiymat?
Har bir qiymatning turi (type) bor. type() uni ko'rsatadi:
print(type("Salom")) print(type(25)) print(type(3.14)) print(type(True))
<class 'str'> <class 'int'> <class 'float'> <class 'bool'>
| Tur | Ma'nosi | Misol |
|---|---|---|
str |
matn (string) | "Salom", '25' |
int |
butun son (integer) | 25, -7, 0 |
float |
kasr son | 3.14, -0.5, 2.0 |
bool |
rost yoki yolg'on | True, False |
Endi input() haqidagi gapni tekshiramiz:
yosh = input("Yoshingiz: ") print(type(yosh))
Yoshingiz: 25 <class 'str'>
25 deb yozdik, lekin turi str. Ya'ni Python uchun bu "ikki-besh" degan matn, son emas.
Konstantalar
Dastur davomida o'zgarmasligi kerak bo'lgan qiymatlarni Pythonda KATTA HARF bilan nomlash odat bo'lgan. Python buni taqiqlamaydi, bu dasturchilar orasidagi kelishuv:
MAKSIMAL_BALL = 100 PI = 3.14 print(MAKSIMAL_BALL, PI)
100 3.14
Kitoblarda
- Python asoslari (A. Ibragimov): o'zgaruvchilar 8–11-betlar, ma'lumot turlari 16-bet.
- Python Crash Course (E. Matthes): 2-bob, Variables 16–19-betlar, Multiple Assignment va Constants 28-bet.
Xulosa
print()ekranga chiqaradi,#izoh boshlaydi.=qiymatni nomga bog'laydi. Nom harf yoki_bilan boshlanadi, snake_case da yoziladi.a, b = b, aikki qiymatni almashtiradi.f"...{nom}..."matn ichiga qiymat qo'yadi.input()har doimstrqaytaradi,type()turni ko'rsatadi.- Xato xabarini oxirgi qatoridan o'qing: xato turi va sababi o'sha yerda.
Mashqlar
Har bir mashqda yechimni daftardagi %%tekshir katagiga yozing. Qiymatlarni input() bilan oling va natijani print() bilan chiqaring. Savol matni (input("A = ")) yozmasangiz ham bo'ladi, tekshiruvchi faqat chiqishdagi qiymatlarga qaraydi.
A va B o'zgaruvchilar berilgan. Ularning qiymatlarini almashtiring va avval yangi A ni, keyin yangi B ni chiqaring.
| Kirish | Kutilgan natija |
|---|---|
| 3, 7 | 7 3 |
| 10, -2 | -2 10 |
| 5, 5 | 5 5 |
Yechimni ko'rish
a = input() b = input() a, b = b, a print(a, b)
A, B, C o'zgaruvchilar berilgan. A ning qiymatini B ga, B nikini C ga, C nikini A ga o'tkazing. Yangi A, B, C ni chiqaring.
| Kirish | Kutilgan natija |
|---|---|
| 1, 2, 3 | 3 1 2 |
| 7, 8, 9 | 9 7 8 |
| 0, -1, 5 | 5 0 -1 |
Yechimni ko'rish
a = input() b = input() c = input() a, b, c = c, a, b print(a, b, c)
A, B, C o'zgaruvchilar berilgan. A ning qiymatini C ga, C nikini B ga, B nikini A ga o'tkazing. Yangi A, B, C ni chiqaring.
| Kirish | Kutilgan natija |
|---|---|
| 1, 2, 3 | 2 3 1 |
| 7, 8, 9 | 8 9 7 |
| 0, -1, 5 | -1 5 0 |
Yechimni ko'rish
a = input() b = input() c = input() a, b, c = b, c, a print(a, b, c)
Foydalanuvchidan ism va shaharni so'rang. So'ng Ism: <ism>, shahar: <shahar> ko'rinishida chiqaring.
| Kirish | Kutilgan natija |
|---|---|
| Javohir, Buxoro | Ism: Javohir, shahar: Buxoro |
| Sarvinoz, Toshkent | Ism: Sarvinoz, shahar: Toshkent |
Yechimni ko'rish
ism = input() shahar = input() print(f"Ism: {ism}, shahar: {shahar}")
Bu bobni bepul o'qidingiz.
Kitob o'rgatadi, lekin sizning kodingiz nega ishlamaganini ayta olmaydi. Kursda uy vazifangiz tekshiriladi.