Skip to content

Pythonda operatorlar

Arifmetik operatorlar

Arifmetik operatorlar asosan matematik hisob kitoblarni amalga oshirish uchun hizmat qiladi ya'ni ikkita sonni qo'shish, ayirish ko'paytirish, bo'lish, darajaga oshirish kabi. Quyida Pythonda matematik operatorlar ro'yxati jadval ko'rinishida keltirilgan.

Operator Ta'rif Misol
+ Qo'shish 5 + 3
- Ayirish 5 - 3
* Ko'paytirish 5 * 3
/ Bo'lish 5 / 3
// Bo'lish va butun qismini olish 5 // 3
% Qoldiqli bo'lish 5 % 3
** Darajaga oshirish 5 ** 3

Misollar

Matematik amallarga misollar kelirib o'tdik. Bu amallarni o'zingizni kompyuteringzda ishlatib ko'ring va tushunishga harkat qiling.

# Qo'shish
result_addition = 5 + 3
print("Qo'shish:", result_addition)

# Ayirish
result_subtraction = 7 - 2
print("Ayirish:", result_subtraction)

# Ko'paytirish
result_multiplication = 4 * 6
print("Ko'paytirish:", result_multiplication)

# Bo'lish
result_division = 10 / 2
print("Bo'lish:", result_division)

# Butun bo'lish
result_floor_division = 17 // 3
print("Butun bo'lish:", result_floor_division)

# Qoldiq
result_modulus = 20 % 7
print("Qoldiq:", result_modulus)

# Darajaga oshirish
result_exponentiation = 2 ** 4
print("Darajaga oshirish:", result_exponentiation)

Inkrement va Dekrement

Barcha dasturlash tillarida o'zgaruvchi qiymatini oshirish va kamaytirishning samarali usullari mavjud. Ular inkrement (oshirish) va dekrement (kamaytirish) amallaridir. Python dasturlash tilida bu amallar quyidagicha amalga oshiriladi.

1
2
3
4
5
6
# a o'zgaruvchisiga 5 qiymat tayinlandi.
a = 5
print('5 qiymat chiqadi: ', a)
# a ni qiymatini 3 ga oshirish
a = a + 3
print('8 qiymat chiqadi: ', a)

Yoki:

1
2
3
4
5
6
# a o'zgaruvchisiga 5 qiymat tayinlandi.
a = 5
print('5 qiymat chiqadi: ', a)
# a ni qiymatini 3 ga oshirish
a += 3
print('8 qiymat chiqadi: ', a)

E'tibor bergan bo'lsangiz ikkinchi misolimizda a = a + 3 o'rniga a += 3 yozdim ikkalasi bir xil vazifani bajaradi. Ikkinchisi qisqa ko'rinishi. Quyida bu kabi operatorlar bilan tanishib chiqamiz.

Tayinlash operatorlari

Tayinlsh operatori biror o'zgaruvchiga qiymat tayinlash uchun hizmat qiladi. Aytaylik bizda a o'zgaruvchisi bor unga biz 5 qiymatni tayinlamoqchimiz u quyidagicha amalga oshiriladi.

# a o'zgaruvchisiga 5 qiymat tayinlandi.
a = 5
Operator Ta'rif Misol Ekvivalent
= Tayinlash x = 5
+= Qo'shish va tayinlash x += 3 x = x + 3
-= Ayirish va tayinlash x -= 2 x = x - 2
*= Ko'paytirish va tayinlash x *= 4 x = x * 4
/= Bo'lish va tayinlash x /= 2 x = x / 2
//= Butun bo'lish va tayinlash x //= 3 x = x // 3
%= Qoldiqli bo'lish va tayinlash x %= 2 x = x % 2
**= Darajaga oshirish va tayinlash x **= 3 x = x ** 3

Misollar

# Tayinlash
x = 5
print("Tayinlash:", x)

# Tayinlash va qo'shish
x += 3
print("Tayinlash va qo'shish:", x)

# Ayirish va tayinlash
x -= 2
print("Ayirish va ta'yinlash:", x)

# Ko'paytirish va tayinlash
x *= 4
print("Ko'paytirish va tayinlash:", x)

# Bo'lish va tayinlash
x /= 2
print("Bo'lish va tayinlash:", x)

# Butun bo'lish va tayinlash
x //= 3
print("Butun bo'lish va tayinlash:", x)

# Qoldiqli bo'lish va tayinlash
x %= 5
print("Qoldiqli bo'lish va tayinlash:", x)

# Darajaga oshrish va tayinlash
x **= 2
print("Darajaga oshrish va tayinlash:", x)

Munosabat operatorlar

Munosbata operatorlari ikki ifodani solishtirish uchun ishlatiladi. Misol uchun a o'zgaruvchisi bilan b o'zgaruvchisi qanday munosabatda a kattami yoki b, yoki tengmi? Shu munosabatlarni aniqlash uchun kerak bo'ladi. Munosabat amallari ikki xil qiymat qaytaradi bular True(rost) va False(yolg'on). Bu qiymatlar mantiqiy(bool) turida bo'ladi. Ma'lumot turlari haqida o'tgan Ma'lumot turlari mavzusida gaplashganmiz. Quyida boshqa operatorlar va misollar keltirib o'tdim.

Operator Ta'rif Misol Natija (Boolean)
== ga tenglik x == y Agar x, y ga teng bo'lsa True, aks holda False natija chiqadi
!= ga teng emas x != y Agar x, y ga teng bo'lmasa True, aks holda False natija chiqadi
> dan katta x > y Agar x, y dan katta bo'lsa True, aks holda False natija chiqadi
< dan kichik x < y Agar x, y dan kichik bo'lsa True, aks holda False natija chiqadi
>= dan katta yoki teng x >= y Agar x, y dan katta yoki teng bo'lsa True, aks holda False natija chiqadi
<= dan kichik yoki teng x <= y Agar x, y dan kichik yoki teng bo'lsa True, aks holda False natija chiqadi

Misollar

# Teng
result_equal = (5 == 5)
print("Teng:", result_equal)

# Teng emas
result_not_equal = (7 != 3)
print("Teng emas:", result_not_equal)

# Dan katta
result_greater_than = (10 > 5)
print("Dan katta:", result_greater_than)

# Dan kichik
result_less_than = (3 < 8)
print("Dan kichik:", result_less_than)

# Dan katta yoki teng
result_greater_equal = (6 >= 6)
print("Dan katta yoki teng:", result_greater_equal)

# Dan kichik yoki teng
result_less_equal = (4 <= 9)
print("Dan kichik yoki teng:", result_less_equal)

Mantiqiy operatorlar

Mantiqiy operatorlar matematik operatorlar kabi faqat asosiy farqi mantiqiy operatorlar sonlar utida emas mantiqiy turlar ustida amallar bajaradi. Biz yuqorida munosabat operatorlari bo'limida quyidagilarni aytib o'tgan edik.

Munosabat amallari ikki xil qiymat qaytaradi bular True(rost) va False(yolg'on). Bu qiymatlar mantiqiy(bool) turida bo'ladi.

Mantiqiy operatorlar yuqorida aytilgan True va False qiymatlar ustida amallar bajaradi. Quyidagi jadvalda mantiqiy operatorlar va ularga misollar keltirilgan.

Operator Ta'rif Misol Natija (Boolean)
and mantiqiy ko'paytirish(AND) x and y Agar ikkala x va y rost(True) bo'lsa rost(True), aks holda yolg'on(False)
or mantiqiy qo'shish(OR) x or y x va y larning biri True bo'lsa True, aks holda False natija bo'ladi.
not mantiqiy inkor(NOT) not x x True bo'lsa False, x False bo'lsa True natija bo'ladi.

Mantiqiy operatorlarga ta'rif

  • not (inkor qilish) - mantiqiy operatori mantiqiy ifodalar yoki o'zgaruvchilar oldidan qo'yiladi. Mantiqiy ifoda yoki o'zgaruvchining qiymatini teskarisiga o'zgartiradi.
  • and (Mantiqiy ko'paytirish) - mantiqiy operatori ikkita mantiqiy o'zgaruvchini birlashtiradi. Agar ikkala o'zgaruvchi ham rost qiymatga ega bo'lsa natija rost, aks holda yolg`on natija beradi.
  • or (mantiqiy qo'shish) - mantiqiy operatori ikkita mantiqiy o'zgaruvchini birlashtiradi. Agar o'zgaruvchilardan kamida bittasi rost qiymatga ega bo'lsa natija rost, aks holda yolg`on natija beradi.

Mantiqiy inkor(not) jadvali

X not X
False True
True False

Mantiqiy qo'shish(or) va ko'paytirish(and) jadvali

X Y X and Y X or Y
False False False False
False True False True
True False False True
True True True True

Misollar

# Mantiqiy ko'paytirish(AND)
result_and = (True and False)
print("Mantiqiy ko'paytirish(AND):", result_and)

# Mantiqiy qo'shish(OR)
result_or = (True or False)
print("Mantiqiy qo'shish(OR):", result_or)

# Mantiqiy inkor(NOT)
result_not = not True
print("Mantiqiy inkor(NOT):", result_not)

Boshqa misollar

  • A butun soni berilgan. Jumlani rostlikka tekshiring: “A soni musbat".
  • A butun soni berilgan. Jumlani rostlikka tekshiring: “A soni toq son".
  • A butun soni berilgan. Jumlani rostlikka tekshiring: “A soni juft son".
  • Ikkita butun A va В sonlari berilgan. Jumlani rostlikka tekshiring: ”A>2 va B<=3".
  • Ikkita butun A va В sonlari berilgan. Jumlani rostlikka tekshiring: “A >= 0 yoki В < -2"

Identifikatsiya operatorlar

Operator Ta'rif Misol Natija (Boolean)
is True qiymat qaytaradi, qachonki ikkala operand bir xil bo'lsa. x is y Agar x va y bir xil ob'ektga tegishli bo'lsa, rost, aks holda False
is not Ikkala operand bir xil obyekt bo'lmasa, True qiymatini qaytaradi x is not y Agar x va y bir xil ob'ektga tegishli bo'lmasa, True, aks holda False

Misollar:

# is identifikatsiyasi
x = [1, 2, 3]
y = [1, 2, 3]
z = x

print("x is y:", x is y)  # False, chunki x va y boshqa-boshqa obektlar
print("x is z:", x is z)  # True, chunki x va y xotirani bir-xil manziliga bog'langan.

# is not identifikatsiyasi

print("x is not y:", x is not y)  # True, chunki x va y boshqa boshqa obektlar
print("x is not z:", x is not z)  # False, chunki x va y xotirada bir joyga bog'langan.

Bitwise operatorlar

Operator Ta'rif Misol
& Bitwise AND x & y
^ Bitwise XOR x ^ y
~ Bitwise NOT (complement) ~x
<< Left Shift x << n
>> Right Shift x >> n
| OR x | y

Misollar

# Bitwise AND
result_and = 7 & 3
print("Bitwise AND:", result_and)

# Bitwise OR
result_or = 7 | 3
print("Bitwise OR:", result_or)

# Bitwise XOR
result_xor = 7 ^ 3
print("Bitwise XOR:", result_xor)

# Bitwise NOT
result_not = ~7
print("Bitwise NOT:", result_not)

# Left Shift
result_left_shift = 7 << 1
print("Left Shift:", result_left_shift)

# Right Shift
result_right_shift = 7 >> 1
print("Right Shift:", result_right_shift)

Yuqorida keltirilgan misollarni hozir yaxshi tushunolmasligingiz mumkin, hozircha bunday bo'lishi tabiy. Darslar davomida har biriga misollar ko'ramiz. Hozircha nomlanishi va qanday foydalanishini bilib olsangiz yetarli.