雲端計算開發教程:Python運算子與表示式

千鋒雲端計算發表於2019-06-17

今天這篇文章是給大家分享一些雲端計算開發教程,今天講解的是:Python運算子與表示式。

雲端計算開發教程:Python運算子與表示式

什麼是運算子:

運算子用於執行程式程式碼運算,會針對一個以上運算元專案來進行運算。例如:2+3,其運算元是2和3,而運算子則是“+”。

什麼是表示式:

表示式,是由數字、運算子、數字分組符號(括號)、自由變數和約束變數等以能求得數值的有意義排列方法所得的組合。約束變數在表示式中已被指定數值,而自由變數則可以在表示式之外另行指定數值。

PYTHON運算子分類:

算術運算子

比較(關係)運算子

賦值運算子

邏輯運算子

位運算子

成員運算子

身份運算子

算術運算子:

以下假設變數a為10,變數b為20:

+: 加 - 兩個物件相加。

比如: a + b 輸出結果 30

-: 減 - 得到負數或是一個數減去另一個數。

比如:  a - b 輸出結果 -10

*: 乘 - 兩個數相乘或是返回一個被重複若干次的字串。

比如:  a * b 輸出結果 200 |

/: 除 - x除以y。

比如:  b / a 輸出結果 2

%: 取模 - 返回除法的餘數。

比如:b % a 輸出結果 0

**:冪 - 返回x的y次冪。

比如:a**b 為10的20次方, 輸出結果 100000000000000000000

//:取整除 - 返回商的整數部分

比如:9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0

注意:

>>> 5/2    //沒有小數位的時候除法運算得到的是整數

2

>>> 5.0/2

2.5

比較(關係)運算子:

以下假設變數a為10,變數b為20:

| == |  等於 - 比較物件是否相等        |  (a == b) 返回 False。

| != |  不等於 - 比較兩個物件是否不相等 |  (a != b) 返回 true.

| <> | 不等於 -  比較兩個物件是否不相等 |  (a <> b) 返回 true。這個運算子類似 != 。

| > |  大於 - 返回x是否大於y |  (a > b) 返回 False。

| < |  小於 - 返回x是否小於y。所有比較運算子返回1表示真,返回0表示假。這分別與特殊的變數True和False等價。注意,這些變數名的大寫。 |  (a < b) 返回 true。

| >= |  大於等於- 返回x是否大於等於y。 |  (a >= b) 返回 False。

| <= |  小於等於 -返回x是否小於等於y。 |  (a <= b) 返回 true。

賦值運算子:

以下假設變數a為10,變數b為20:

| =  | 簡單的賦值運算子|  c = a + b 將 a + b 的運算結果賦值為 c

| += | 加法賦值運算子 |  c += a 等效於 c = c + a

| -= | 減法賦值運算子 |  c -= a 等效於 c = c - a

| *= | 乘法賦值運算子 |  c *= a 等效於 c = c * a

| /= | 除法賦值運算子 |  c /= a 等效於 c = c / a

| %= | 取模賦值運算子 |  c %= a 等效於 c = c % a

| **=| 冪賦值運算子   |  c **= a 等效於 c = c ** a

| //=| 取整除賦值運算子|  c //= a 等效於 c = c // a

邏輯運算子:

以下假設變數 a 為 10, b為 20:

and

x and y

布林"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。

(a and b) 返回 20。

or

x or y

布林"或"- 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。

(a or b) 返回 10。

not

not x

布林"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。

not(a and b) 返回 False

>>> 1>2 and 2<3

False

>>> 3>2 and 2<3

True

位運算子:

按位運算子是把數字看作二進位制來進行計算的。Python中的按位運演算法則如下:

下表中變數 a 為 60,b 為 13。

&  按位與運算子:

參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0

(a & b) 輸出結果 12 ,二進位制解釋: 0000 1100

|  按位或運算子:

只要對應的二個二進位有一個為1時,結果位就為1。

(a | b) 輸出結果 61 ,二進位制解釋: 0011 1101

^ 按位異或運算子:

當兩對應的二進位相異時,結果為1

(a ^ b) 輸出結果 49 ,二進位制解釋: 0011 0001

~   按位取反運算子:

對資料的每個二進位制位取反,即把1變為0,把0變為1

(~a ) 輸出結果 -61 ,二進位制解釋: 1100 0011, 在一個有符號二進位制數的補碼形式。

<< 左移動運算子:

運算數的各二進位全部左移若干位,由"<<"右邊的數指定移動的位數,低位補0。

a << 2 輸出結果 240 ,二進位制解釋: 1111 0000

>>  右移動運算子:

把">>"左邊的運算數的各二進位全部右移若干位

">>"右邊的數指定移動的位數,高位補0,低位捨棄

a >> 2 輸出結果 15 ,二進位制解釋: 0000 1111

注:上圖中計算結果有問題,做好的圖沒改,按實際結果來

成員運算子:

除了以上的一些運算子之外,Python還支援成員運算子,測試例項中包含了一系列的成員,包括字串,列表或元組。

in

如果在指定的序列中找到值返回 True,否則返回 False。

x 在 y 序列中 , 如果 x 在 y 序列中返回 True。

not in

如果在指定的序列中沒有找到值返回 True,否則返回 False。

x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

身份運算子:

身份運算子用於比較兩個物件的儲存單元

is

is是判斷兩個識別符號是不是引用自一個物件

x is y, 如果 id(x)  等於 id(y) , is 返回結果 1

is not

is not是判斷兩個識別符號是不是引用自不同物件

x is not y, 如果 id(x) 不等於 id(y). is not 返回結果 1

運算子優先順序:

以下表格列出了從最高到最低優先順序的所有運算子:

**

指數 (最高優先順序)

~ + -

按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)

* / % //

* 乘,除,取模和取整除

+ -

加法減法

>> <<

右移,左移運算子

&

位 'AND'

^

位運算子

<= < > >=

比較運算子

<> == !=

等於運算子

= %= /= //= -= += *= **=

賦值運算子

is is not

身份運算子

in not in

成員運算子

not or and

邏輯運算子

除此之外還有一個運算子優先順序最低:lambada


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2647433/,如需轉載,請註明出處,否則將追究法律責任。

相關文章