運算子與表示式

残肢發表於2024-05-13

運算子與表示式

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 是如何讓程式設計師的生活變得更加便捷美好的範例。

相關文章