運算子與表示式
Created: November 29, 2023 10:38 PM
運算子
運算子 | 釋義 |
---|---|
+、-、*、/ | 略 |
**、//、% | 乘方、整除(向下取整至最接近的整數、餘數 |
<<、>> | 指的是二進位制左右移 |
&按位與 | 按位與是針對二進位制數的操作,指將兩個二進位制數的每一位都進行比較,如果兩個相應的二進位都為 1 則此位為 1,否則為 0。例如5&3輸出1, 5 的二進位制表達為 101 , 3 的二進位制表達為 11 (為補全位數進行按位操作寫作 011 ),則按位與操作後的結果為001 ,對應的十進位制數為 1 。 |
按位或 | |
^按位異或 | 按位異或是針對二進位制數的操作,指將兩個二進位制數的每一位都進行比較,如果兩個相應的二進位不同則此位為 1,相同為 0。例如5 ^ 3輸出6, 101 與 011 進行按位異或操作的結果為 110 ,對應十進位制數為 6. |
~按位取反 | 按位取反也稱作“按位取非”或“求非”或“取反”,“按位翻轉”,是針對二進位制數的操作,指將兩個二進位制數的每一二進位都進行取反操作, 0 換成 1 , 1 換成0 。詳情:http://stackoverflow.com/a/11810203 |
>、<、≤、≥、==、≠ | 略 |
not(布林“非”) | 如果 x 是 Ture ,則返回 False 。如果 x 是 False ,則返回 True 。 |
x = Ture; not x 返回 False 。 | |
and(布林“與”) | 如果 x 是 False ,則 x and y 返回 False ,否則返回 y 的計算值。 |
當 x 是 False 時, x = False; y = True; x and y 將返回 False 。在這一情境中, | |
Python 將不會計算 y,因為它已經瞭解 and 表示式的左側是 False ,這意味著整個表示式都將是 False 而不會是別的值。這種情況被稱作短路計算(Short-circuit | |
Evaluation)。 | |
or(布林“或”) | 如果 x 是 True ,則返回 True ,否則它將返回 y 的計算值。 |
x = Ture; y = False; x or y 將返回 Ture 。在這裡短路計算同樣適用。 |
求值順序
表示式
length = 5
breadth = 2
area = length * breadth
print('Area is', area)
print('Perimeter is', 2 * (length + breadth))
輸出:
$ python expression.py
Area is 10
Perimeter is 14
矩形的長度(Length)與寬度(Breadth)儲存在以各自名稱命名的變數中。我們使用它們並藉助表示式來計算矩形的面積(Area)與周長(Perimeter)。我們將表示式 length *breadth 的結果儲存在變數 area 中並將其透過使用 print 函式列印出來。在第二種情況中,我們直接在 print 函式中使用了表示式 2 * (length + breadth) 的值。
同時,你需要注意到 Python是如何漂亮地列印出 輸出結果的。儘管我們沒有特別在Area is 和變數 area 之間指定空格,Python 會幫我們加上所以我們就能得到一個整潔的輸出結果,同時程式也因為這樣的處理方式而變得更加易讀(因為我們不需要在用以輸出的字串中考慮空格問題)。這便是一個 Python 是如何讓程式設計師的生活變得更加便捷美好的範例。