python邏輯運算符的使用方法,python邏輯運算符的使用

通常你所寫出的程序語句(邏輯行)會包含若干表達式。 如 2 + 3即為一個簡單的表達式。表達式由運算符與操作數構成。

運算符是一些可以用+號或其他關鍵詞符號替代的功能。運算符會對相關數據進行運算,這些被運算的數據稱為操作數。在上例中,2和3即為操作數。

運算符

我們來簡要學習一下運算符及其用法。

請注意,你可以使用互動式解釋器來計算下面示例中的表達式。例如,要想嘗試表達式2 + 3,只需使用互動式 Python 解釋器輸入:

Python運算符與表達式

下面簡明地列出了常用的運算符:

+ (加)

將兩對象相加

3 + 5 得 8. ‘a’ + ‘b’ 得 ‘ab’.

– (減)

將一個數減去另一個數,若減號左邊沒有數字,則默認作左邊為零。

-5.2 為一個負數,而 50 – 24 則等於 26。

* (乘)

得到兩個數相乘的值,或者將一個字元串重複若干次。

2 * 3 得到 6. ‘la’ * 3 得到 ‘lalala’.

** (乘方)

返回 x 的 y 次冪

3 ** 4 得到 81 (i.e. 3 * 3 * 3 * 3)

/ (除)

x 除以 y

13 / 3 得到 4.333333333333333

// (除且取整)

x 除以 y 並返回小於商的最大整數,注意,如果操作數之一為浮點數,則返回值必為浮點數。

13 // 3 得到 4

-13 // 3 得到 -5

9//1.81 得到 4.0

% (取模)

返回作除法之後的餘數。

13 % 3 得到 1. -25.5 % 2.25 得到 1.5.

<< (左移)

將數字位向左移動指定的位數。每個數字在內存中用位或二進位數(如 0 和 1 )表示。

2 << 2 得到 8. 2 在二進位中用 10 表示。

將 10 向左移兩位得到 1000 ,二進位 1000 表示十進位的 8 。

>> (右移)

將數字按位向右移動指定的位數。

11 >> 1 得到 5 。

11 的二進位表示為 1011 ,將其右移一位後,得到 101也就是十進位的 5 。

& (按位與)

數字的按位與

5 & 3 得到 1。

| (按位或)

數字的按位或

5 | 3 得到 7

^ (按位異或)

數字的按位異或

5 ^ 3 得到 6

~ (按位取反)

x 按位取反是 -(x+1)

~5 得到 -6

< (小於)

返回 x 是否小於 y 。所有的比較運動算符返回 True 或 False。 注意這些名字的大小寫。

5 < 3 得到 False ,而 3 < 5 得到 True。

比較還可以任意鏈接: 3 < 5 < 7 得到 True。

> (大於)

返回 x 是否大於 y

5 > 3 返回 True。如果兩個操作數都是數字,則首先要做的是將它們轉換為相同的類型。否則,它總是返回 False。

<= (小於或等於)

返回 x 是否小於或等於 y

x = 3; y = 6; x <= y 返回 True

>= (大於或等於)

返回 x 是否大於或等於 y

x = 4; y = 3; x >= 3 返回 True

== (等於)

比較一下對象是否相等

x = 2; y = 2; x == y 返回 True

x = ‘str’; y = ‘stR’; x == y 返回 False

x = ‘str’; y = ‘str’; x == y 返回 True

!= (不等於)

比較一下對象是否不相等

x = 2; y = 3; x != y 返回 True

not (布爾非)

如果 x 為 True,它會返回 False。如果 x 為 False,它會返回 True。

x = True; not x 返回 False.

and (布爾與)

如果 x 為 False , x and y 返回 False 。否則,返回 y 的值

由於 x 為 False , x = False; y = True; x and y 返回 False 。在這種情況下, Python 不會計算 y ,因為它知道 ‘與’ 表達式的左邊為 False ,這就意味著整個表達式必定是 False。這就是所謂的短路計算。

or (布爾或)

如果 x 為 True,它會返回真,否則返回 y 的值

x = True; y = False; x or y 返回 True。這裡也用到了短路計算。

數學運算和賦值的快捷方式。

對一個變數進行數學運算,然後將運算結果賦回給變數,這個過程非常常用。於是,對於這樣的表達式有一個快捷方式:

Python運算符與表達式

可以簡寫為:

Python運算符與表達式

注意, 變數 = 變數 運算符 表達式 變成了 變數 運算符= 表達式。

計算順序

如果你有一個表達式,如 2 + 3 * 4,是先做加法?還是先做乘法?我們的高中數學告訴我們,應該先做乘法。這就意味著,乘法運算符的優先順序比加法運算符高。

下表給出了 Python 的優先順序表,從最低優先順序(最小約束)到最高優先順序(最大約束)。這就意味著在給定的表達式中, Python 會首先計算表中較低的運算符和表達式,然後計算表中較高的運算符和表達式。

lambda :Lambda 表達式

if – else :條件表達式

or :布爾或

and :布爾與

not x :布爾非

in, not in, is, is not, <, <=, >, >=, !=, == :比較,包括成員資格測試和身份測試

| :按位或

^ :按位異或

& :按位與

<<, >> :移位

+, – :加減法

*, /, //, % :乘除法,取整和取余

+x, -x, ~x :正負號,按位非

** :求冪

x[index], x[index:index], x(arguments…), x.attribute :訂閱,切片,調用,屬性引用

(expressions…), [expressions…], {key: value…}, {expressions…} : 綁定或者元組顯示,列表顯示,字典顯示,設置顯示

我們還沒有遇到的操作符將在後面的章節中講解。

具有 相同優先順序 的操作符在上表中的同一列中列出。例如 + 和 – 具有相同的優先順序。

改變計算順序

我們可以使用括弧,使表達式更加具有可讀性。例如: 2 + (3 * 4) 顯然比 2 + 3 * 4 更容易理解,因為後者需要運算符優先順序的知識。和其它事物一樣,括弧要合理適度地使用(不要濫用),並且不要有冗餘的括弧,像 (2 + (3 * 4)) 就顯得很冗餘。

使用括弧還有另外一個優勢——它能幫助我們改變計算的順序。例如,如果你想在一個表達式中先算加法後算乘法,那麼你可以寫成 (2 + 3) * 4 。

關聯性

一般而言,操作符從左到右進行關聯。這意味著具有相同優先順序的操作符按照從左到右的方式進行計算。例如, 2 + 3 + 4 計算順序為 (2 + 3) + 4 。

表達式

示例(保存為 expression.py):

Python運算符與表達式

輸出:

Python運算符與表達式

它的工作原理

矩形的長和寬分別保存在變數 length 和 breadth 中。在表達式的幫助下,我們使用長和寬來計算矩形的面積和周長。我們將表達式 length * breadth 的計算結果保存到變數 area 中,然後用 print 函數將其列印輸出。第二種情況是,我們直接在 print 函數中使用表達式 2 * (length + breadth) 的值。

另外,請注意一下 Python 如何 優雅地列印輸出 結果。儘管我們沒有指明 ‘Area is’ 與變數 area 之間有一個空格,但是 Python 會自動加上,這樣我們就可以得到一個簡潔漂亮的輸出,並且這樣程序的可讀性會更強(因為我們不需要擔心我們要在輸出字元串中如何使用空格)。這是 Python 如何讓程序員的生活變得輕鬆的一個例子。

我已經知道了如何使用操作符、操作數和表達式——這些是任何程序的基本構件。

請關注我!!接下來再下一章會介紹使用語句來了解,如何在我們的程序中使用這些構件。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/228071.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 21:31
下一篇 2024-12-09 21:31

相關推薦

發表回復

登錄後才能評論