Mənimsətmə operatoru

Əvvəlki dərslərimizdə biz mənimsətmə operatorundan (=) istifadə etmişdik. Mənimsətmə operatoruna bəzən mənsubetmə operatoru da deyilir. Bu dərsimizdə mənimsətmə operatoru haqda daha çox şey öyrənəcəyik.

Gəlin aşağıdakı misalları nəzərdən keçirək:

>>> s1 = "Azərbaycan"
>>> s2 = "Bakı"
>>> n1 = 86.6
>>> n2 = 9600000
>>> print(s1)
Azərbaycan
>>> print(s2)
Bakı
>>> print(n1)
86.6
>>> print(n2)
9600000
>>>

   Biz burada dörd dəyişəndən (s1, s2, n1, n2) istifadə etdik. Burada mənimsətmə operatoru olan bərabər (=) simvolunun solunda və sağında operandlar yer alır. İndiki halda soldakı operandlar dəyişənlər, sağdakılar isə qiymətlər rolunda çıxış edir. Məsələn s1= “Azərbaycan” ifadəsində s1 operandı dəyişəndir, “Azərbaycan” operandı isə bu dəyişənə mənimsədilən qiymətdir.

   Misallardan gördüyünüz kimi, s1 s2 dəyişənlərinə mənimsədilən qiymətlər (“Azərbaycan” “Bakı”) dırnaq arasında yazılır, çünki bu məlumatlar sətir tipindədir. Digər iki dəyişənə (n1n2) mənimsədilən qiymətlər (86.69600000) isə ədəd tipində olduqları üçün dırnaq işarələrindən istifadə edilmir. Burada 9600000 qiyməti tam ədəd, 86.6 qiyməti isə həqiqi ədəd tipindədir.

  Qeyd etmək lazımdır ki, əksər proqramlaşdırma dillərində olduğu kimi Python dilində də həqiqi ədədlərdə tam və kəsr hissəni ayıran ayırıcı işarə nöqtə (.) simvoludur.

Keçək növbəti misallara:

>>> a = 10
>>> b = a
>>> print(b)
10
a = "salam"
>>> print(a)
salam
>>> 

  Burada iki dəyişəndən (a b) istifadə edilir. Əvvəlcə biz a dəyişəninə 10 qiymətini mənimsədirik, sonra isə b dəyişəninə a dəyişəninin özünü mənimsədirik. Gördüyünüz kimi bir dəyişənə başqa bir dəyişəni mənimsətmək mümkündür. Bundan sonra b dəyişəninin qiymətini print əmri ilə ekrana çapa veririk. Nəticədən də gördüyünüz kimi bu zaman ekrana a dəyişəninə daha öncədən mənimsədilmiş olan 10 qiyməti çıxır.

Daha sonra biz a dəyişəninə yeni bir qiymət (“salam”) mənimədib ekrana çapa veririk. Gördüyünüz kimi ekrana a dəyişəninin yeni qiyməti çıxır. Və diqqət edin, a dəyişəninə fərqli tipdə olan yeni qiymət mənimsədildiyinə görə a dəyişəni də öz tipini dəyişir. İndiki halda əvvəlcə a dəyişəninin tipi tam ədəd (int), sonra isə sətir (str) tipi olur. Biz irəlidə tipləri daha ətraflı şəkildə nəzərdən keçirəcəyik.

Çoxlu mənimsətmə

Python proqramlaşdırma dili çoxlu mənimsətməyə imkan verir. Bu iki şəkildə mümkündür:

  • Eyni zamanda bir neçə dəyişənə eyni qiymətlərin mənimsədilməsi;
  • Eyni zamanda bir neçə dəyişənə müxtəlif qiymətlərin mənimsədilməsi.

Gəlin aşağıdakı misalı nəzərdən keçirək:

>>> a = b = c = 1
>>> print(a, b, c)
1 1 1 
>>>

  Burada üç dəyişəndən (a, b, c) istifadə etdik. Bu üç dəyişənə eyni zamanda eyni bir qiymət (1) mənimsədilir və print əmri ilə ekrana çapa verilir. Nəticədə ekrana hər üç dəyişənin almış olduğu eyni qiymətlər (1 1 1) çıxır.

Aşağıdakı misal isə bir neçə dəyişənə müxtəlif qiymətlərin mənimsədilməsini nümayiş etdirir:

>>> a, b, c = 1, 2, 3
>>> print(a, b, c)
1 2 3 
>>>

Burada isə üç dəyişənə eyni zamanda fərqli qiymətlər (1, 2, 3) mənimsədilir və print əmri ilə ekrana çapa verilir. Nəticədə ekrana hər üç dəyişənin almış olduğu fərqli qiymətlər (1 2 3) çıxır.

Mənimsətmə operatorları

   Biz indiyə qədər mənimsətmə əməliyyatlarında = operatorundan istifadə edirdik. Bu əsas mənimsətmə operatorundan başqa Python proqramlaşdırma dilində digər mənimsətmə operatorları da var. Aşağıdakı cədvəldə sadalanan bu operatorlar müəyyən mənimsətmə əməliyyatları zamanı sintaksisi sadələşdirmək üçün istifadə olunur:

Operator İstifadə Ekvivalent
+= a+=2 a=a+2
-= a-=2 a=a-2
*= a*=2 a=a*2
/= a/=2 a=a/2
//= a//=2 a=a//2
%= a%=2 a=a%2
**= a**=2 a=a**2

   Gəlin bu operatorlardan birini təcrübədə tətbiq edək. Aşağıdakı proqram 1-dən 100-dək ədədlər içərisində 3-ə bölünənlərin sayını və onların cəmini tapıb ekrana çıxarır:

>>> k=s=0  
>>> for i in range(3, 100, 3):
        k+=1
        s+=i

>>> print(k, s) 
33 1683
>>>

   Proqramdakı k+=1s+=i ifadələrinin nəyə ekvivalent olduqlarını aydınlaşdırın.