2. O‘zgaruvchilar va ma’lumot turlari¶
O‘zgaruvchi — dasturda qiymatni nom bilan saqlash va undan keyinchalik foydalanish imkonini beradigan tushuncha.
Python'da o‘zgaruvchi yaratish uchun alohida kalit so‘z kerak emas.
ism = "Softromeda"
yosh = 25
Bu yerda:
ism → "Softromeda"
yosh → 25
qiymatlari tegishli nomlarga biriktirilgan.
O‘zgaruvchi yaratish¶
ism = "Softromeda"
kasb = "Dasturchi"
yosh = 25
O‘zgaruvchilardan foydalanish:
print(
f"Ism: {ism}"
)
print(
f"Kasb: {kasb}"
)
print(
f"Yosh: {yosh}"
)
Natija:
Ism: Softromeda
Kasb: Dasturchi
Yosh: 25
O‘zgaruvchi qiymatini o‘zgartirish¶
O‘zgaruvchiga yangi qiymat biriktirish mumkin:
yosh = 25
print(
yosh
)
yosh = 26
print(
yosh
)
Natija:
25
26
Python'da o‘zgaruvchi yangi qiymatga qayta biriktirilishi mumkin.
O‘zgaruvchi nomlash qoidalari¶
O‘zgaruvchi nomi harf yoki _ belgisi bilan boshlanishi mumkin.
To‘g‘ri:
ism = "Softromeda"
yosh = 25
foydalanuvchi_nomi = "Softromeda"
_tanlangan_son = 10
Raqam bilan boshlash mumkin emas:
1ism = "Softromeda"
Bu noto‘g‘ri.
O‘zgaruvchi nomida - ishlatish ham mumkin emas:
foydalanuvchi-nomi = "Softromeda"
Buning o‘rniga:
foydalanuvchi_nomi = "Softromeda"
yoziladi.
snake_case¶
Bir nechta so‘zdan iborat o‘zgaruvchilar uchun Python'da odatda snake_case uslubi ishlatiladi.
foydalanuvchi_nomi = "Softromeda"
tugilgan_yil = 2000
telefon_raqami = "01012345678"
mahsulot_narxi = 19.99
Bu uslub kodni o‘qishni osonlashtiradi.
Katta va kichik harflar¶
Python katta va kichik harflarni farqlaydi.
ism = "Softromeda"
Ism = "Python"
ISM = "Dasturlash"
Bular uchta alohida nom:
ism
Ism
ISM
Odatda o‘zgaruvchilar kichik harflarda yoziladi:
foydalanuvchi_nomi = "Softromeda"
Ma’lumot turi¶
Python'da har bir qiymat ma’lum bir turga ega.
Masalan:
ism = "Softromeda"
yosh = 25
narx = 19.99
faol = True
Ularning turlari:
ism → str
yosh → int
narx → float
faol → bool
type()¶
Qiymatning turini aniqlash uchun type() funksiyasidan foydalaniladi.
ism = "Softromeda"
yosh = 25
narx = 19.99
faol = True
print(
type(ism)
)
print(
type(yosh)
)
print(
type(narx)
)
print(
type(faol)
)
Natija:
<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>
int¶
int butun sonlarni ifodalaydi.
yosh = 25
son = 100
harorat = -10
Bu qiymatlarning barchasi int turiga kiradi.
son = 25
print(
type(son)
)
Natija:
<class 'int'>
Musbat va manfiy sonlar¶
int musbat, manfiy va nol qiymatlarni o‘z ichiga oladi.
birinchi_son = 25
ikkinchi_son = -10
uchinchi_son = 0
float¶
Kasrli sonlar float turiga kiradi.
narx = 19.99
boy = 1.75
harorat = 36.5
Masalan:
narx = 19.99
print(
type(narx)
)
Natija:
<class 'float'>
int va float¶
butun_son = 10
kasrli_son = 10.0
Ularning qiymati o‘xshash bo‘lsa ham, turlari boshqa:
print(
type(butun_son)
)
print(
type(kasrli_son)
)
Natija:
<class 'int'>
<class 'float'>
str¶
Matn qiymatlari str turiga kiradi.
ism = "Softromeda"
shahar = "Busan"
dasturlash_tili = "Python"
Masalan:
ism = "Softromeda"
print(
type(ism)
)
Natija:
<class 'str'>
Matnni birtirnoq bilan yozish¶
Matnni birtirnoq bilan ham yozish mumkin:
ism = 'Softromeda'
Bu ham to‘g‘ri:
ism = "Softromeda"
Ikkalasi ham str hosil qiladi.
Matnlarni birlashtirish¶
Ikki matnni + yordamida birlashtirish mumkin:
birinchi_matn = "Salom, "
ikkinchi_matn = "Softromeda!"
natija = (
birinchi_matn
+ ikkinchi_matn
)
print(
natija
)
Natija:
Salom, Softromeda!
Matnni takrorlash¶
Matnni * yordamida takrorlash mumkin:
belgi = "*"
print(
belgi * 10
)
Natija:
**********
Yana bir misol:
matn = "Py"
print(
matn * 3
)
Natija:
PyPyPy
bool¶
bool mantiqiy qiymatlarni ifodalaydi.
Unda ikkita asosiy qiymat mavjud:
True
False
Masalan:
foydalanuvchi_faol = True
foydalanuvchi_bloklangan = False
True va False¶
dastur_ishlayapti = True
if dastur_ishlayapti:
print(
"Dastur ishlayapti."
)
Natija:
Dastur ishlayapti.
False esa shartning bajarilmasligini bildiradi.
None¶
Python'da qiymat mavjud emasligini ifodalash uchun None ishlatiladi.
foydalanuvchi = None
print(
foydalanuvchi
)
Natija:
None
Nonening turi:
print(
type(foydalanuvchi)
)
Natija:
<class 'NoneType'>
Nonedan foydalanish¶
Masalan, foydalanuvchi hali tanlanmagan:
tanlangan_foydalanuvchi = None
Keyinchalik:
tanlangan_foydalanuvchi = "Softromeda"
print(
f"Tanlangan foydalanuvchi: {tanlangan_foydalanuvchi}"
)
Natija:
Tanlangan foydalanuvchi: Softromeda
Tur o‘zgartirish¶
Python'da bir turdagi qiymatni boshqa turga aylantirish mumkin.
Masalan:
son_matn = "25"
son = int(
son_matn
)
print(
son + 5
)
Natija:
30
Bu yerda:
str → int
o‘zgarishi amalga oshirildi.
int()¶
Matnni butun songa aylantirish:
son = int(
"100"
)
print(
son
)
Natija:
100
Agar matn sonni ifodalamasa, int() xatolik beradi:
son = int(
"Softromeda"
)
float()¶
Qiymatni float turiga aylantirish:
narx = float(
"19.99"
)
print(
narx
)
Natija:
19.99
Butun sonni ham floatga aylantirish mumkin:
son = 10
kasrli_son = float(
son
)
print(
kasrli_son
)
Natija:
10.0
str()¶
Qiymatni matnga aylantirish:
yosh = 25
yosh_matn = str(
yosh
)
print(
yosh_matn
)
print(
type(yosh_matn)
)
Natija:
25
<class 'str'>
bool()¶
Qiymatni mantiqiy qiymatga aylantirish mumkin:
print(
bool(1)
)
print(
bool(0)
)
Natija:
True
False
Bo‘sh qiymatlar odatda False sifatida baholanadi:
print(
bool("")
)
print(
bool(0)
)
print(
bool([])
)
Natija:
False
False
False
Arifmetik amallar¶
O‘zgaruvchilar yordamida matematik hisoblashlar bajarish mumkin:
birinchi_son = 20
ikkinchi_son = 5
yigindi = (
birinchi_son
+ ikkinchi_son
)
ayirma = (
birinchi_son
- ikkinchi_son
)
kopaytma = (
birinchi_son
* ikkinchi_son
)
bolinma = (
birinchi_son
/ ikkinchi_son
)
print(
f"Yig‘indi: {yigindi}"
)
print(
f"Ayirma: {ayirma}"
)
print(
f"Ko‘paytma: {kopaytma}"
)
print(
f"Bo‘linma: {bolinma}"
)
Natija:
Yig‘indi: 25
Ayirma: 15
Ko‘paytma: 100
Bo‘linma: 4.0
Darajaga oshirish¶
** operatori darajaga oshirish uchun ishlatiladi.
son = 5
kvadrat = son ** 2
print(
f"Kvadrat: {kvadrat}"
)
Natija:
Kvadrat: 25
Qoldiq olish¶
% operatori qoldiqni hisoblaydi.
qoldiq = 17 % 5
print(
f"Qoldiq: {qoldiq}"
)
Natija:
Qoldiq: 2
Juft sonni aniqlash:
son = 10
if son % 2 == 0:
print(
"Bu juft son."
)
Butun bo‘lish¶
// operatori butun bo‘lish natijasini beradi.
natija = 17 // 5
print(
f"Natija: {natija}"
)
Natija:
Natija: 3
Oddiy bo‘lish:
natija = 17 / 5
print(
f"Natija: {natija}"
)
Natija:
Natija: 3.4
Qisqartirilgan operatorlar¶
Python'da o‘zgaruvchiga qiymat qo‘shish:
son = 10
son += 5
print(
son
)
Natija:
15
Xuddi shuningdek:
+=
-=
*=
/=
%=
**=
operatorlari mavjud.
Masalan:
son = 10
son += 5
print(son)
son -= 2
print(son)
son *= 2
print(son)
Natija:
15
13
26
Bir nechta o‘zgaruvchini bir qatorda yaratish¶
Quyidagicha yozish mumkin:
birinchi_son = 10
ikkinchi_son = 20
uchinchi_son = 30
Yoki:
birinchi_son, ikkinchi_son, uchinchi_son = 10, 20, 30
Ikkala usul ham to‘g‘ri.
O‘zgaruvchilar qiymatini almashtirish¶
Python'da ikkita o‘zgaruvchining qiymatini oson almashtirish mumkin:
birinchi_son = 10
ikkinchi_son = 20
birinchi_son, ikkinchi_son = (
ikkinchi_son,
birinchi_son
)
print(
birinchi_son
)
print(
ikkinchi_son
)
Natija:
20
10
input()¶
Foydalanuvchidan ma’lumot olish uchun input() funksiyasi ishlatiladi.
ism = input(
"Ismingizni kiriting: "
)
print(
f"Salom, {ism}!"
)
Foydalanuvchi:
Softromeda
kiritsa:
Salom, Softromeda!
chiqadi.
input() orqali olingan qiymat odatda str turida bo‘ladi.
input() orqali son olish¶
Agar foydalanuvchidan son olish kerak bo‘lsa, int() ishlatiladi:
yosh = int(
input(
"Yoshingizni kiriting: "
)
)
print(
f"Siz {yosh} yoshdasiz."
)
Masalan:
Yoshingizni kiriting: 25
Siz 25 yoshdasiz.
Bu yerda:
input()
↓
str
↓
int()
↓
int
jarayoni amalga oshadi.
isinstance()¶
Qiymatning ma’lum turga tegishli ekanini tekshirish uchun isinstance() ishlatiladi.
yosh = 25
natija = isinstance(
yosh,
int
)
print(
f"Tekshiruv natijasi: {natija}"
)
Natija:
Tekshiruv natijasi: True
Yana:
ism = "Softromeda"
print(
isinstance(
ism,
str
)
)
Natija:
True
len()¶
Matn uzunligini aniqlash uchun len() ishlatiladi.
ism = "Softromeda"
uzunlik = len(
ism
)
print(
f"Matn uzunligi: {uzunlik}"
)
Natija:
Matn uzunligi: 10
Matn bilan oddiy ishlash¶
Matnning barcha harflarini katta qilish:
ism = "Softromeda"
print(
ism.upper()
)
Natija:
SOFTROMEDA
Kichik qilish:
ism = "SOFTROMEDA"
print(
ism.lower()
)
Natija:
softromeda
Matn indekslari¶
Matndagi belgilar indeks orqali olinishi mumkin.
ism = "Softromeda"
print(
ism[0]
)
Natija:
S
Indekslar 0 dan boshlanadi:
S o f t r o m e d a
0 1 2 3 4 5 6 7 8 9
Mazmunli o‘zgaruvchi nomlari¶
Quyidagi kod ishlaydi:
x = 25
Lekin x nimani anglatishi noma’lum.
Yaxshiroq:
foydalanuvchi_yoshi = 25
Yana:
mahsulot_narxi = 19.99
foydalanuvchi_nomi = "Softromeda"
dasturlash_tili = "Python"
Mazmunli nomlar kodni tushunishni osonlashtiradi.
Konstantalar¶
Python'da haqiqiy o‘zgarmas o‘zgaruvchi mavjud emas.
Lekin o‘zgarmas sifatida ishlatiladigan qiymatlar odatda katta harflarda yoziladi:
PI = 3.14159
MAKSIMAL_YOSH = 120
DASTUR_NOMI = "Softromeda"
Bu dasturchilarga ushbu qiymatlar odatda o‘zgartirilmasligi kerakligini bildiradi.
O‘zgaruvchilar va obyektlar¶
Python'da o‘zgaruvchi obyektga murojaat qiluvchi nom sifatida qaraladi.
Masalan:
son = 25
Bu yerda 25 qiymatni ifodalovchi obyekt, son esa unga murojaat qiluvchi nomdir.
Bu tushuncha Python'da muhim bo‘lib, keyinchalik klasslar va obyektlar mavzusida yanada chuqur o‘rganiladi.
Amaliy mashqlar¶
Mashq 1¶
Quyidagi o‘zgaruvchilarni yarating:
ism
yosh
kasb
shahar
Ularning qiymatlarini ekranga chiqaring.
Mashq 2¶
Ikki son yarating va quyidagilarni hisoblang:
Yig‘indi
Ayirma
Ko‘paytma
Bo‘linma
Qoldiq
Daraja
Mashq 3¶
Foydalanuvchidan ism va yoshni qabul qilib, quyidagi shaklda chiqaring:
Salom, Softromeda!
Siz 25 yoshdasiz.
Mashq 4¶
Berilgan sonning juft yoki toq ekanini % yordamida aniqlang.
Mashq 5¶
Matn yarating va uning:
Uzunligini
Katta harflardagi shaklini
Kichik harflardagi shaklini
Birinchi belgisini
chiqaring.
Mashq 6¶
"25" qiymatini intga aylantiring va unga 10 qo‘shing.
Mashq 7¶
25 sonini strga aylantiring va uning turini tekshiring.
Mashq 8¶
Ikki o‘zgaruvchining qiymatlarini joylarini almashtiring.
Mashq 9¶
isinstance() yordamida qiymatlarning turlarini tekshiring.
Mashq 10¶
Quyidagi qiymatlarning turini aniqlang:
Softromeda
25
19.99
True
None
Mini loyiha — Softromeda ma’lumotlari¶
Foydalanuvchidan quyidagi ma’lumotlarni qabul qiladigan dastur yarating:
Ism
Yosh
Bo‘y
Kasb
So‘ng ularni chiroyli shaklda chiqaring:
ism = input(
"Ismingizni kiriting: "
)
yosh = int(
input(
"Yoshingizni kiriting: "
)
)
boy = float(
input(
"Bo‘yingizni metrda kiriting: "
)
)
kasb = input(
"Kasbingizni kiriting: "
)
print(
"\n=== Softromeda ma'lumotlari ==="
)
print(
f"Ism: {ism}"
)
print(
f"Yosh: {yosh}"
)
print(
f"Bo‘y: {boy} metr"
)
print(
f"Kasb: {kasb}"
)
Bob xulosasi¶
Bu bobda Python'dagi o‘zgaruvchilar va asosiy ma’lumot turlarini o‘rgandik.
Asosiy tushunchalar:
O‘zgaruvchi
int
float
str
bool
None
type()
isinstance()
int()
float()
str()
bool()
input()
len()
Shuningdek:
Arifmetik operatorlar
Qoldiq olish
Butun bo‘lish
Darajaga oshirish
Qisqartirilgan operatorlar
Qiymatlarni almashtirish
f-string
bilan ishlashni ko‘rdik.
Python'da o‘zgaruvchi yaratishda uning turini oldindan yozish shart emas:
ism = "Softromeda"
yosh = 25
narx = 19.99
faol = True
Python qiymatlarning turlarini avtomatik aniqlaydi.
Keyingi bobda ma’lumotlar tuzilmalari: list, tuple, set va dict bilan ishlashni o‘rganamiz.