Python logo

Python dasturlash tili: 4-dars.

Operatorlar va ifodalar

Dasturdagi ko’p amallar (mantiqiy qatorlar) ifodalardan tashkil topgan. Bunga oddiy misol: 2 + 3. Ifodani operatorlar va operandlarga ajratish mumkin.

Operator – bu biror amalni bajaruvchi va simvol yordamida yoki zaxiraga olingan so’zlar yordamida ifodalanadigan funksional.

Operatorlar qiymatlar ustida biror amalni bajaradi va bu qiymatlar operandlar deyiladi. Bizning xolatda 2 va 3 – bu operandlar.

Operatorlar

Operatorlar va ularning qo’llanilishini qisqacha ko’rib chiqamiz. Misol uchun, 

2 + 3 ifodani tekshirib ko’rish uchun interaktiv interpretatordan foydalanishimiz mumkin.

>>> 2 + 3

5

>>> 3 * 5

15

Operatorlar va ularning qo’llanilishi

Operator

Nomlanishi

Ta’rifi

Misol

+

Qo’shish

Ikkita ob’yektning yig’indisini hisoblaydi

3 + 5 ifoda 8 ni beradi;

‘a’ + ‘b’ ifoda ‘ab’ ni beradi.

Ayirish

Ikkata sonning farqini beradi. Agar birinchi operand mavjud bo’lmasa, uning qiymati 0 ga teng deb olib ketiladi.

-5.2 manfiy qiymat beradi,

50 – 24 ning qiymati esa 26 ga teng.

*

Ko’paytirish

Ikkita son ko’paytmasini beradi yoki satrni ko’rsatilgan miqdorda takrorlangan yangi satrni qaytaradi.

2 * 3 ifoda 6 beradi.

‘xa’ * 3 ifoda ‘xaxaxa’ ni qaytaradi.

**

Darajaga ko’tarish

x sonini y darajaga ko’tarilganda hosil bo’lgan qiymatni qaytaradi.

3**4 ifoda 81 ni qaytaradi (ya’ni 3*3*3*3)

/

Bo’lish

‘x’ ni ‘y’ ga bo’lganda hosil bo’lgan bo’linmani qaytaradi.

4 / 3 ifoda 1.3333333333333333 ni beradi.

//

Qoldiqsiz bo’lish

Bo’lishdan hosil bo’lgan bo’linmaning qoldiqsiz butun qismini qaytaradi.

4 // 3 ifoda 1 ni qaytaradi.

%

Qoldiqlik bo’lish

Bo’lishdan hosil bo’lgan qoldiqni qaytaradi.

8 % 3 ifoda 2 ni beradi.

-25.5 % 2.25 ifoda 1.5 ni beradi.

<<

Chapga surish

Bit sonni chapga ko’rsatilgan miqdorda suradi.

2 << 2 ifoda 8 ni beradi. Ikkilik sanoq tizimida 2 soni 10 ko’rinishiga ega bo’ladi. Chapga 2 bit miqdorida surish 1000 beradi, bu o’nlik sanoq tizimida 8 ni beradi.

>>

O’ngga surish

Bit sonni o’ngga ko’rsatilgan miqdorda suradi.

11 >> 1 ifoda 5 ni beradi. Ikkilik sanoq sistemasida 11 soni 1011 ko’rinishida bo’ladi uni 1 bit o’ngga sursak 101 hosil bo’ladi va bu onlik sanoq tizimida 5 ni beradi.

&

‘Va’ bit operatori

(Побитовое И)

Sonlar ustida ‘va’ bit operatsiyasini bajaradi.

5 & 3 ifoda 1 ni beradi

|

‘Yoki’ bit operatori (Побитовое ИЛИ)

Sonlar ustida ‘yoki’ bit operatsiyasini bajaradi.

5 | 3 ifoda 7 ni beradi

^

‘shartlik yoki’ bit operatori

(Побитовое ИСКЛЮЧИТЕЛЬНО

ИЛИ)

Sonlar ustida ‘shartlik yoki’ bit operatsiyasini bajaradi.

5 ^ 3 ifoda 6 ni beradi

~

‘Emas’ bit operatori Побитовое НЕ

‘Emas’ bit operatsiyasi x soni uchun -(x+1) ga to’g’ri keladi.

~5 ifoda 6 ni beradi.

<

Kichik

x qiymat y qiymatdan kichikligini aniqlaydi. Hamma qiyoslash operatorlari True yoki False qaytaradi. Bu so’zlardagi katta xarflarga e’tibor bering.

5 < 3 False qaytaradi

3 < 5 ifoda esa True qaytaradi. Ixtiyoriy bir – biri bilan bog’langan ifodalar tuzish ham mumkin:

3 < 5 < 7 ifoda True ni qaytaradi

>

Katta

x qiymat y qiymatdan katta ekanligini aniqlaydi.

5 > 3 ifoda True ni qaytaradi.

<=

Kichik yoki teng

x qiymat y qiymatdan kichik yoki teng ekanligini aniqlaydi.

x = 3; y = 6; x <= y ifoda True qaytaradi.

>=

Katta yoki teng

x qiymat y qiymatdan katta yoki teng ekanligini anqlaydi.

x = 4; y = 3; x >= 3 ifoda True qaytaradi.

==

Teng

Ob’yektlarning tengligini tekshiradi

x = 2; y = 2; x == y ifoda True qaytaradi.

x = ‘str’; y = ‘stR’;

x == y ifoda False qaytaradi.

x = ‘str’; y = ‘str’;

x == y ifoda True qaytaradi.

!=

Teng emas

Ob’yektlar teng emasligi to’g’riligini tekshiradi.

x = 2; y = 3; x != y ifoda True qaytaradi.

not

Mantiqiy ’emas’

(Логическое НЕ)

Agar x True bo’lsa, operator False qaytaradi. Agar x False bo’lsa operator True qaytaradi.

x = True; not x ifoda False qaytaradi.

and

Mantiqiy ‘va’ (Логическое И)

x and y ifoda False qaytaradi agar x False bo’lsa. Aks holda y ning qiymatini qaytaradi.

x = False; y = True;

x and y ifoda False qaytaradi, sababi

x равно False. Bu holda Python y ning qiymatini tekshirib o’tirmaydi sababi ‘and’ operatoridan chapdagi ifoda qismi False ga teng va butun ifoda qiymati boshqa oparatorlar qiymatlariga bog’liqsiz ham False bo’ladi.

or

Mantiqiy ‘yoki’

x or y agar x True ga teng bo’lsa True qaytaradi aks xolda y ning qiymatini qaytaradi.

x = True; y = False;

x or y ifoda True qaytaradi.

Matematik amallar va o’zlashtirishlarni qisqacha yozish

Ko’pincha bir o’zgaruvchi ustida biror matimatik amal bajarib, natijani o’sha o’zgaruvchining o’ziga o’zlashtirish zaruriyati tug’iladi. Bu holda amallarni qisqacha yozish mumkin.

Siz

a = 2; a = a * 3

ni quyidagicha yozishingiz mumkin:

a = 2; a *= 3

Amallar bajarilish ketma-ketligi

2 + 3 * 4 ifodada qaysi amal birinchi bajariladi: qo’shishmi yoki ko’paytirish?

Matematika fanida ko’paytirish birinchi bajarilishi ko’rsatilgan. Demak, ko’paytirish operatori qo’shish operatoriga qaraganda katta prioritetga(muhimlik darajasiga) ega.

Quyidagi jadvalda Python operatorlari prioriteti ko’rsatilgan. Bunda yuqoridan pastga qarab Python operatorlari prioriteti oshib boradi. Bu shuni anglatadiki, ixtiyoriy ifodada Python oldin eng qiyidagi operatorlarni hisoblaydi va keyin esa yuqoridagilarini.

Amaliyotda esa amallarni qavslar bilan aniq ajratish tavsiya etiladi. Bu dastur kodini oson o’qishga yordam beradi.

Operator

Izoh

lambda

lambda ifoda

or

Mantiqiy ‘yoki’

and

Mantiqiy ‘va’

not x

Mantiqiy ’emas’

in, not in

Tegishlilikni tekshirish

is, is not

Bir xillikni tekshirish

<, <=, >, >=, !=, ==

Taqqoslash

|

‘yoki’ bit operatori

^

‘shartlik yoki’ bit operatori

&

‘va’ bit operatori

<<, >>

Surilishlar

+, –

Qo’shish va ayirish

*, /, //, %

Ko’paytirish, bo’lish, qoldiqsiz bo’lish va qoldiqlik bo’lish

+x, -x

Musbat va manfiy

~x

’emas’ bit operatori

**

Darajaga ko’tarish

x.attribute

Atributga link

x[index]

Indeks bo’yicha murojat

x[index1:index2]

Kesib olish

f(argumentlar …)

Funksiyani chaqirish

(ifoda, …)

Kortej (Связка или кортеж)

[ifoda, …]

Ro’yxat (Список)

{kalit:qiymat, …}

Lug’at (Словарь)

Bu jadvalda bir xil prioritetga ega bo’lgan operatorlar bir qatorda joylashgan.

Misol uchun ‘+’ va ‘-‘.

Hisoblash tartibini o’zgartirish

Ifodalarni o’qishni osonlashtirish uchun qavslarni ishlatish mumkin. Misol uchun, 2 + (3 * 4) ni tushunish oson operatorlar prioriteni bilish lozim bo’lgan 2 + 3 * 4 ifodadan ko’ra. Qavslarni o’ylab ishlatish kerak. Ortiqcha qavslarni ishlatishdan saqlaning. Misol uchun: (2 + (3 * 4)).

Qavslarni ishlatishni ya’na bir afzalligi hisoblash tartibini o’zgartirish imkonini beradi. Misol uchun, qo’shish amalini ko’paytirish amalidan birinchi bajarish kerak bo’lsa, quyidagicha yozish mumkin:

(2 + 3) * 4.

Assotsiativlilik (Ассоциативность)

Operatorlar hisoblashni asosan chapdan o’ngga amalga oshirishadi. Bu bir xil prioritetga ega bo’lgan operatorlar chapdan o’ngga tartibda amallarni bajarishadi. Misol uchun, 2 + 3 + 4 ifodasi (2 + 3) + 4 shaklida hisoblanadi.

Ba’zi operatorlar misol uchun o’zlashtirish operatori o’ngdan chapga qarab amallarni bajaradi. Misol uchun: a = b = c ifodasi a = (b = c) shaklida qaraladi.

Ifodalar

Misol (expression.py fayl ko’rinishida saqlang):

length = 5

breadth = 2

area = length * breadth

print(‘Yuza’, area)

print(‘Perimetr’, 2 * (length + breadth))

Kiritish:

$ python expression.py

Yuza 10

Perimetr 14

Bu qanday ishlaydi:

To’g’ri to’rtburchakning bo’yi va eni length va breadth o’zgaruvchilarida saqlanadi. Biz ulardan ifodalarda to’g’ri to’rturchakning yuzi va perimetrini (tomonlari uzunliklarining yig’indisini) hisoblashda foydalanamiz.

length * breadth ifodaning natijaviy qiymatini area o’zgaruvchida saqlanadi va print funksiyasi yordamida ekranga chiqariladi.

Ikkinchi holda to’g’ridan-to’g’ri 2 * (length + breadth) ifodaning qiymatini print funksiyasiga beramiz.

Yana shunga e’tibor beringki, Python natijani “chiroyli” shaklda ekranga chiqaradi. Biz “Yuza” bilan area o’zgaruvchisi orasiga “probel” (bo’sh joy) qo’ymagan bo’lsak ham, Python biz uchun uni o’zi hisobga olib ketadi va “probel” qo’yadi. Bu Pythonning dasturchilar uchun yengilliklar berishiga misol bo’la oladi.

(657 marta o'qilgan, bugun 1 marta o'qildi)

O'xshash maqolalar: