Operatorlar mavzusini tizimli tarzda yakunlaymiz. Ilgari sonlar va Boolean darslarida ba’zi operatorlarni ko’rgan bo’lsak, endi ularni to’liq guruhlab, har birining o’rnini aniq belgilab olamiz. Operator — bu qiymatlar ustida amal bajaradigan maxsus belgi, va ular dasturning barcha hisob-kitobi hamda mantig’ining asosidir.
Operator — bir yoki bir necha qiymat (operand) ustida ma’lum amalni bajaradigan belgi yoki kalit so’z. Python operatorlarni bir necha guruhga ajratadi: arifmetik, o’zlashtirish, solishtirish, mantiqiy, a’zolik va ayniyat.
Arifmetik operatorlar
Bular sonlar ustida matematik amal bajaradi:
a = 15
b = 4
print(a + b, a - b, a * b)
print(a / b, a // b, a % b, a ** b)
19 11 60
3.75 3 3 50625
Bu yerda / — oddiy bo’lish (kasr beradi), // — butun bo’lish, % — qoldiq, `` — daraja. Ularni sonlar darsida batafsil ko’rgan edik.
O’zlashtirish operatorlari
O’zlashtirish operatorlari o’zgaruvchiga qiymat beradi va ko’pincha amalni qisqartiradi:
| Operator | Ma’nosi | Teng yozuvi |
|---|---|---|
= |
oddiy o’zlashtirish | x = 5 |
+= |
qo’shib o’zlashtirish | x = x + 3 |
-= |
ayirib o’zlashtirish | x = x - 3 |
*= |
ko’paytirib | x = x * 3 |
//= |
butun bo’lib | x = x // 3 |
Amalda:
hisob = 100
hisob += 50 # hisob = hisob + 50
hisob -= 20
print(hisob)
130
Bu qisqartma shakllar kodni ixcham qiladi va ayniqsa sikllarda (masalan, i += 1) doimo ishlatiladi.
Solishtirish va mantiqiy operatorlar
Solishtirish operatorlari (==, !=, >, <, >=, <=) va mantiqiy operatorlar (and, or, not) natijada Boolean qaytaradi — biz ularni o’tgan darsda ko’rib chiqdik. Bu yerda ularni birga ishlatishni eslaymiz:
yosh = 26
faol = True
print(18 <= yosh < 60 and faol)
True
E’tibor bering: Python 18 <= yosh < 60 kabi zanjirli solishtirishni tabiiy tildagidek qo’llab-quvvatlaydi — ko’p tillarda bunday imkoniyat yo’q.
A’zolik operatorlari: in va not in
in operatori biror qiymat to’plam (ro’yxat, satr, lug’at) ichida bor-yo’qligini tekshiradi — amaliyotda nihoyatda foydali:
mahsulotlar = ["telefon", "noutbuk", "smart soat"]
print("telefon" in mahsulotlar)
print("televizor" not in mahsulotlar)
print("Dev" in "UzbekDevs")
True
True
True
Bu operator onlayn do’kon kabi joylarda “bu mahsulot ro’yxatda bormi?” degan savolga bir qatorda javob beradi.
Ayniyat operatorlari: is va is not
is operatori ikki o’zgaruvchi xotirada aynan bir obyektga ishora qilyaptimi tekshiradi. Bu == dan farq qiladi: == qiymatlarni, is esa obyekt ayniyatini solishtiradi:
a = None
print(a is None) # None bilan tekshirishning to'g'ri usuli
print(5 == 5.0) # qiymatlar teng
print(5 is 5.0) # obyektlar boshqa
True
True
False
Muhim qoida: None bilan solishtirishda doim is ishlating, == emas.
Xulosa
Bu darsda operatorlarning barcha guruhlarini — arifmetik, o’zlashtirish, solishtirish, mantiqiy, a’zolik (in) va ayniyat (is) — tizimli ko’rib chiqdik. Operatorlar dasturning barcha amallari va qarorlarining quroli. Keyingi darsda ma’lumot to’plamlariga — List’dan boshlab kirib boramiz.