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.