1. 程式人生 > >雲計算Python自動化:運算符代碼詳解

雲計算Python自動化:運算符代碼詳解

雲計算

雲計算Python自動化:運算符代碼詳解:

邏輯運算符:

以下假設變量 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

雲計算Python自動化:運算符代碼詳解