Əməliyyatların ardıcıllığı

Əksər proqramlaşdırma dilləri bir ifadədə bir neçə əməliyyatı qruplaşdırmağa imkan verir. Bununla da proqram kodları daha yığcam olur.  Məsələn, deyək ki, biz 20 ədədinin 80-nin neçə faizi olduğunu hesablamaq istəyirik:

>>> print(100*20/80,"%")
25.0 %
>>>

Bu misalı nəzərdən keçirsək görəcəyik ki, burada print() funksiyasının daxilində bir neçə əməliyyat icra olunur. Əvvəlcə 100 ilə 20 bir-birinə vurulur, sonra alınan nəticə 80-ə bölünür və əldə edilən qiymətin sonuna % simvolu əlavə edilir. Sonda isə yekun nəticə ekrana çıxarılır.

Əgər bir ifadədə birdən çox əməliyyat varsa, bu əməliyyatların icra olunma ardıcıllığı onların ifadədə yerləşmə sırasından və icra olunma öncəliyindən asılıdır. Python proqramlaşdırma dilində əməliyyatların icra olunma öncəlikləri riyaziyyatda olduğu kimidir.

Ən yüksək öncəlik dərəcəsi mötərizələr daxilindəki əməliyyatlarındır. Onlar hər zaman ilk öncə icra olunurlar. Həmçinin mötərizələrdən istifadə etməklə ifadələrin özümüz üçün daha anlaşıqlı və rahat oxunmasına nail olmaq mümkündür. Bu  halda onlar nəticəyə heç bir təsir göstərmir:

>>> print(2*(3+7))
20
>>> print((100*20)/80,"%")
25.0 %
>>>

Əməliyyatların icrasında növbəti öncəlik isə qüvvətə yüksəltmədir:

>>> print(2**2+1)
5
>>> print(3*2**3)
24
>>>

Vurma və bölmə, eləcə də tam bölmə və qalıqlı bölmə əməliyyatlarının toplama və çıxma əməlyyatlarına görə icra olunma öncəlikləri vardır:

>>> print(2*3-1)
5
>>> print(5/2+3)
5.5
>>> print(9//2+6)
10
>>> print(7%2+3)
4
>>>

Əgər bir ifadə daxilində eyni öncəlik dərəcəsi olan operatorlar varsa, onların icra olunma ardıcıllığı soldan sağa doğru olacaq:

>>> print(10*20/8//3%5)
3.0
>>>

Biz yuxarıda yazdığımız proqramlarda qiymətlərdən istifadə etdik. Siz eyni əməliyyatları dəyişənlər üzərində də yerinə yetirə bilərsiniz.

Sonda onu da qeyd edək ki, növbəti dərslərimizdə Python dilinin digər operatorları ilə də tanış olacağıq. Bu operatorların icra olunma öncəlikləri haqqında da o zaman danışılacaq. Amma səbri çatmayanlar Operatorların Öncəlik Sırası Cədvəlinə indi də baxa bilər:

OperatorTəyinatı
**Qüvvətə yüksəltmə operatoru
~  +  –Bit əsaslı inkar, unar plyus və unar minus operatorları
*  /  //  %Vurma, bölmə, tam bölmə və qalıqlı bölmə operatorları
+  –Toplama və çıxma operatorları
>>  <<Bit əsaslı sağa sürüşdürmə və sola sürüşdürmə operatorları
&Bit əsaslı  operatoru
^  |Bit əsaslı vəya deyil və vəya operatorları
<=  <  >  >=Müqayisə operatorları
!=  <>  == Bərabərlik operatorları
 =  %=  /=  //=  -=  +=  *=  **=Mənimsətmə operatorları
is  is notİdentiklik operatorları
in  not inÜzvlük operatorları
not  or  andMəntiq operatorları

Bu cədvəldə yüksəkdən aşağıya doğru operatorların icra olunma öncəlikləri göstərilmişdir.