歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python運算符與表達式

Python運算符與表達式

日期:2017/3/1 9:14:32   编辑:Linux編程

Python運算符包括賦值運算符、算術運算符、關系運算符、邏輯運算符、位運算符、成員運算符和身份運算符。

表達式是將不同類型的數據(常亮、變量、函數)用運算符按照一定得規則連接起來的式子。

算術運算符和算術表達式

算術運算符包括四則運算符、求模預算符和冪運算符。

算術運算符 表達式 說明 + x + y 加法運算 - x - y 減法運算 * x * y 乘法運算 / x / y 除法運算 % x%y 求模運算 ** x**y x的y次方 // x // y 兩數相除向下取整

Python中的除法運算(Python3.x)進行浮點數計算,也就是說 x/y返回的結果是浮點數。

%為取模運算,x%y的結果將是x除以y的余數。

如果要從整數相除中得到一個整數, 丟棄任何小數部分, 可以使用另一個操作符"//"。

x = 5
y = 3
a = 4
b = 2
print(x + y) #結果為 7
print(x - y)  #結果為2
print(x * y) #結果為15
print(x / y)  #結果為1.6666666666666667 不同的機器浮點數的結果可能不同
print(x // y) #向下去整結果為1
print(x % y) #兩數相除取余結果為2
print(x**y) #5的3次冪結果為125

print(a / b) #結果為浮點數2.0
print(a % b)#取余結果為0
print(a // b)#取整結果為2

關系運算符是對兩個對象進行比較。

運算符 表達式 說明 == a==b 等於,比較對象是否相等

!=

<>

a !=b

a <>b

不等於,比較兩個對象是否不相等 > a > b 大於,比較a是否大於b < a < b

小於,比較a是否小於b

>= a>=b 大於等於,比較a是否大於或者等於b <= a<=b 小於等於,比較a是否小於或者等於b

a = 4
b = 2
c = 2
print(a == b) #False
print(a != b)  #True
print(a <> b)  #True
print(a > b)   #True
print(a < b)   #False
print(a >= b) #True
print(c <= b) #True

邏輯運算符與邏輯運算表達式

運算符 表達式 說明 and a and b 邏輯與,當a為True時才計算b or a or b 邏輯或,當a為False時才計算b not not a 邏輯非
a = 4
b = 2
c = 0
print(a>b and b>c) #a>b為True繼續計算b>c,b>c也為True則結果為True
print(a>b and b<c)#a>b為True繼續計算c<b,b>c結果為False則結果為False
print(a>b or c<b) #a>b為True則不繼續計算c<b,結果為True
print(not c<b) #c<b為True not True結果為False
print(not a<b) #a<b為False not Flase結果為True

位運算符

按位運算符是把數字看作二進制來進行計算的。

運算符 表達式 說明 & a & b

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

| a | b 按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1 ^ a ^ b

按位異或運算符:當兩對應的二進位相異時,結果為1

~ ~a

按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1

<< a<<2

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

>> a>>2

右移動運算符:把">>"左邊的運算數的各二進位全部右移若干位,">>"右邊的數指定移動的位數

運算

操作

結果

a & b

0011 1100

& 0000 1101

0000 1100

12

a | b

0011 1100

| 0000 1101

0011 1101

61

a ^ b

0011 1100

^ 0000 1101

0011 0001

49

~a

~ 0011 1100

1100 0011

-61

有符號二進制數的補碼

a << 2

0011 1100 -> 1111 0000

240

a >>2

0011 1100-> 0000 1111

15

賦值運算符

運算符 表達式 說明 = c=a + b 簡單賦值運算符, 將 a + b 的運算結果賦值為 c += c +=a 加法賦值運算符 c += a 等效於 c = c + a -= c -=a 減法賦值運算符 c -= a 等效於 c = c - a *= c *=a

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

/= c /=a

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

%= c %=a

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

//= c //=a 冪賦值運算符 c **= a 等效於 c = c ** a **= c **=a

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

成員運算符,測試實例中包含了一系列的成員,包括字符串,列表或元組。

運算符 表達式 說明 in a in b 如果在指定的序列中找到值返回 True,否則返回 False。 not in a not in b 如果在指定的序列中沒有找到值返回 True,否則返回 False。
a=4
c=0
list = [1,2,3,4,5]
if (a in list):
    print("%d is in list:%r"%(a,list))
if (c not in list):
    print("%d is not in list: %r"%(c,list)) 

Python的算術表達式具有結合性和優先性。結合性是指表達式按照從左到右、先乘除後加減的原則進行計算。

Python運算符優先級(由高到低)


** 指數 (最高優先級)
~ + - 按位翻轉, 一元加號和減號 (正負號)
* / % // 乘,除,取模和取整除
+ - 加法減法
>> << 右移,左移運算符
& 位 'AND'
^ | 位運算符
<= < > >= 比較運算符
<> == != 等於運算符
= %= /= //= -= += *= **= 賦值運算符
is is not 身份運算符
in not in 成員運算符
not or and 邏輯運算符

另外,小括號可以改變優先級,有()的情況優先計算()中的表達式。

CentOS上源碼安裝Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm

《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved