Məntiqi ifadələr və məntiq tipi

Biz yuxarıda müqayisə operatorlarını nəzərdən keçirdik. Müqayisə operatorlarından istifadə edilərək qurulan və nəticəsi doğru (True) və ya yalan (False) olan ifadələr məntiqi ifadələr adlanır. Deməli məntiqi ifadələrin nəticəsi bizə məntiq (bool) tipində qiymətlər (True və ya False) verəcək. Beləliklə də biz Python dilinin daha bir tipi olan bool tipi ilə tanış oluruq.

Gəlin sadə məntiqi ifadələri misallarla göstərək:

>>> x = 2 * 2
>>> x == 4
True
>>> x == 5
False
>>>

Məncə hər şey aydındır. İki vur iki dörddür. Bunu bütün dünya bilir və bu hər zaman da belə olacaq. Python da bunu bilir və ona görə də x == 4 məntiqi ifadəsinin nəticəsini True (doğru), x == 5 ifadəsinin nəticəsini də False (yalan) olaraq verir.

  Digər misalları nəzərdən keçirək:

>>> x = 2 * 2
>>> x != 5	 
True
>>> x > 5	 
False
>>> x < 5	 
True
>>> x >= 4	 
True
>>> x <= 4	 
True
>>>

Biz məntiqi ifadənin nəticəsini başqa bir dəyişəndə yadda saxlaya bilərik:

>>> x = 2 * 2
>>> y = x == 5
>>> print(y)
False
>>>

Burada qeyd etmək lazımdır ki, müqayisə operatorlarının icra olunma öncəliyi mənimsətmə operatorundan daha yüksəkdir. Odur ki, yuxarıdakı proqramda əvvəlcə x == 5 ifadəsi icra olunur, daha sonra da bu ifadənin məntiqi nəticəsi y dəyişəninə mənimsədilir.

Yuxarıda qeyd etmişdik ki, məntiqi ifadələrin icrası bizə bool (məntiq) tipində qiymətlər verir. Buna type() funksiyasından istifadə etməklə əmin ola bilərik:

>>> x = 2 * 2
>>> type(x == 5)
<class 'bool'>
>>>

İndi isə verilən qiyməti bool tipinə çevirən bool() funksiyasını nəzərdən keçirək:

>>> bool(5)
True
>>> bool(0)
False
>>> bool(-2.3)
True
>>> bool("Bakı")
True
>>> bool("")
False
>>>

Yuxarıdakı misallardan da gördüyünüz kimi ədəd (tam və ya həqiqi) tipində olan və sıfırdan fərqli (müsbət və ya mənfi) qiymətlər məntiq tipinə çevriləndə True qiymətini alırlar. Sıfıra (0 və ya 0.0) bərabər qiymət isə məntiq tipinə çevriləndə False qiymətini alır. Burada bir maraqlı məqama da diqqət yetirin. Əgər str (sətir) tipində olan qiymətlər heçnə (“”) deyillərsə, o zaman onlar bool (məntiq) tipinə çevriləndə True, əks halda isə False qiymətini alırlar.