Ikki sonni bo‟linmasi (ushbu amal bo‟lish natijasining faqat butun qismini qaytaradi, qoldiq qismi tashlab yuboriladi)
1
print(6 // 5) #1
% - qoldiqli bo’lish amali:
Ikki sonni bo‟linmasi (ushbu amal bo‟lish natijasining faqat qoldiq qismini qaytarib, butun qismi tashlab yuboriladi)
1
print(6 % 5) #1
** - darajaga ko’tarish (oshirish) amali:
ab shaklidagi hisoblashlarda qo‟llaniladi
1
print(6 ** 2) #36
Ifodada bir nechta arifmetik amallar ketma-ket kelgan bo‟lsa, ular prioriteti (ustunligi) bo‟yicha bajariladi. Dastlab, yuqori prioritetga ega bo‟lgan amallar bajariladi. Amallarning prioriteti kamayish tartibida quyidagi jadvalda ifodalangan:
Amallar
Yo’nalish
**
Chapdan-o‟nga
*, /, //, %
Chapdan-o‟nga
+, -
Chapdan-o‟nga
Misol sifatida quyidagi ifodani qaraymiz:
1
2
son = 12//7 + 2 ** 5 * 3 - 4
print(son) #93
Bu erda dastlab eng yuqori prioritetga ega bo‟lgan amal – darajaga ko‟tarish amali bajariladi (2 ** 5 =32). Keyin ko‟paytma (32 * 3 = 96), butun qismli bo‟lish
(12 // 7 = 1), qo‟shish (1 + 96 = 97) va ayirish (97 – 4 = 93) amallari bajariladi. Ifoda bajarilishi natijasida 93 soni konsol ekraniga chiqariladi.
Amallarni qavsga olish orqali ularning bajarilish ketma-ketligini o‟zimiz xoxlagan tartibga keltirib olishimiz ham mumkun. Masalan, yuqoridagi ifodani quyidagicha qayta yozamiz:
1
2
son = 12//7 + 2 ** 5 * (3 – 4)
print(son) #-31
Natijada konsol ekraniga -31 soni chiqariladi.
Shuni alohida ta`kidlash kerakki, arifmetik amallar butun sonlar uchun qanday tartibda bajarilsa, suzuvchan nuqtali haqiqiy sonlar uchun ham xuddi shunday bo‟ladi. Agarda ifodada loaqal bitta haqiqiy son ishtirok qilsa natija haqiqiy turda ifodalanadi.
Yuqoridagi barcha arifmetik amallarni o‟zlashtirish amali (=) bilan birgalikda (arifmetik amal va undan keyin “=” belgisi ketma-ket yoziladi) ishlatish mumkin. Masalan: +=, -=, *=, /=, //=, %=, **=. Bunday hollarda ifodaning o‟ng tomonidagi barcha amallar hisoblanib, chiqqan natija chap tomondagi o‟zgaruvchi natijasi bilan mos arifmetik amal bajariladi va natija yana chap tomondagi o‟zgaruvchiga yuklanadi. Masalan:
1
2
3
4
5
6
7
8
9
10
11
son = 2
son += 3 #son=son+3amaligatengkuchli,son=5bo`ladi print(son) #5 son -= 1
print(son) #4 son *= 4
print(son) #16 son //= 2
print(son) #8 son **= 2
print(son) #64
Yuqoridagi misolda hisoblash natijalari kommentariyalarda ko‟rsatilgan.
Pythonda sonlar ustuda amal bajaruvchi ichki funksiyalar juda ko‟p. Xususan, int() va float() funksiyalari argument sifatida berilgan qiymatlarni mos ravishda butun va haqiqiy sonlarga o‟girish uchun ishlatiladi. Masalan: