python逻辑表达式3+45and_Python 简明教程 --- 5,Python 表达式与运算符
靠代碼行數(shù)來衡量開發(fā)進(jìn)度,就像是憑重量來衡量飛機(jī)制造的進(jìn)度。
—— Bill Gates
目錄
1,什么是表達(dá)式
表達(dá)式是代碼的重要組成部分,一個(gè)表達(dá)式由運(yùn)算符和操作數(shù)兩部分組成。
一個(gè)表達(dá)式就描述了對哪些數(shù)據(jù),進(jìn)行了什么樣的操作。
如下就是一個(gè)表達(dá)式:
sum = 1 + 2
其中,=和+ 都是運(yùn)算符,=是賦值運(yùn)算符,+ 是相加運(yùn)算符,sum,1,2 都是操作數(shù)。
這句話的含義是,將1 與 2 相加,并將它們的結(jié)果賦值給變量sum。
2,運(yùn)算符
Python 中包含豐富的運(yùn)算符,支持各種運(yùn)算。如下:
算術(shù)運(yùn)算符
位運(yùn)算符
關(guān)系運(yùn)算符
賦值運(yùn)算符
邏輯運(yùn)算符
下面對這些運(yùn)算符逐一進(jìn)行介紹。
3,算術(shù)運(yùn)算符
運(yùn)算符
含義
+
加
-
減
*
乘
/
除
//
除,向下取整
%
取余
**
冪運(yùn)算
示例:
>>> a = 20
>>> b = 7
>>>
>>> a + b
27
>>> a - b
13
>>> a * b
140
>>> a / b
2.857142857142857
>>> a // b
2
>>> a % b
6
>>> a ** b
1280000000
4,位運(yùn)算符
進(jìn)行位運(yùn)算時(shí),會先將數(shù)字轉(zhuǎn)換成二進(jìn)制,然后再做位運(yùn)算。
運(yùn)算符
含義
&
按位與
|
按位或
^
按位異或
~
按位取反
<<
左移
>>
右移
示例:
>>> a = 20
>>> b = 7
>>> a & b
4
>>> a | b
23
>>> a ^ b
19
>>> ~a # a 按位取反
-21
>>> ~b # b 按位取反
-8
>>> a << 3 # a 左移3 位
160
>>> b >> 2 # b 右移2 位
1
5,關(guān)系運(yùn)算符
關(guān)系運(yùn)算符又叫比較運(yùn)算符,其計(jì)算結(jié)果為True 或False。
運(yùn)算符
含義
==
是否相等
!=
是否不等
>
是否大于
<
是否小于
>=
是否大于等于
<=
是否小于等于
示例:
>>> a = 20
>>> b = 7
>>> a == b
False
>>> a != b
True
>>> a > b
True
>>> a < b
False
>>> a >= b
True
>>> a <= b
False
6,賦值運(yùn)算符
等號= 是最基本的賦值運(yùn)算符,= 右邊的值稱為右值,= 左邊的值稱為左值。
賦值運(yùn)算符= 的含義是將右值賦值給左值。
例如下面代碼,a 為左值,b 為右值,這行代碼的含義是,將b 的值賦值給a:
a = b
下面這些賦值運(yùn)算符,都是在賦值運(yùn)算符= 與算術(shù)運(yùn)算符的基礎(chǔ)上衍生出來的,是一種簡寫形式:
運(yùn)算符
示例
+=
a += b 相當(dāng)于 a = a + b
-=
a -= b 相當(dāng)于 a = a - b
*=
a *= b 相當(dāng)于 a = a * b
/=
a /= b 相當(dāng)于 a = a / b
//=
a //= b 相當(dāng)于 a = a // b
%=
a %= b 相當(dāng)于 a = a % b
**=
a **= b 相當(dāng)于 a = a ** b
7,邏輯運(yùn)算符
運(yùn)算符
含義
and
邏輯與
or
邏輯或
not
邏輯非
示例:
>>> a = True
>>> b = False
>>> a and b
False
>>> a or b
True
>>> not a
False
>>> not b
True
在數(shù)字中,非0 為真,0 為假:
>>> not 0 # 0 為 False,not 0 為 True
True
>>> not 1 # 1 為 True,not 1 為 False
False
>>> not 2 # 2 為 True,not 2 為 False
False
>>> not -1 # -1 為 True,not -1 為 False
False
>>> not -2 # -2 為 True,not -2 為 False
False
其實(shí),True 就是 1,False 就是 0:
>>> True.real
1
>>> False.real
0
>>> True == 1
True
>>> False == 0
True
在字符串中,非空字符串為真,空字符串為假:
>>> not '' # '' 為 False,not '' 為 True
True
>>> not 'abc' # 'abc' 為 True,not 'abc' 為 False
False
8,運(yùn)算符的優(yōu)先級
運(yùn)算符有優(yōu)先級之分,表達(dá)式在計(jì)算的時(shí)候,會先計(jì)算優(yōu)先級較高的,處于同一優(yōu)先級時(shí),會從左到右計(jì)算。
如下表達(dá)式,該表達(dá)式會先計(jì)算2 * 3 結(jié)果是6,再計(jì)算1 + 6,結(jié)果是 7:
>>> 1 + 2 * 3
7
之所以會先計(jì)算 2 * 3,就是因?yàn)? 的優(yōu)先級高于+ 的優(yōu)先級。
小括號()的優(yōu)先級高于我們上面介紹到的所有運(yùn)算符的優(yōu)先級,如果想改變計(jì)算順序,可以使用小括號()。
如下表達(dá)式,則會先計(jì)算1 + 2 結(jié)果為3,再計(jì)算3 * 3,結(jié)果為9:
>>> (1 + 2) * 3
9
下表匯總了上文中介紹到的所有運(yùn)算符的優(yōu)先級,從高到低排序,同一行(用,分隔)中的運(yùn)算符具有相同優(yōu)先級:
運(yùn)算符
含義
()
小括號內(nèi)的表達(dá)式優(yōu)先級最高
**
冪運(yùn)算
~x,+x,-x
按位取反,正號,負(fù)號
*,/,%,//
乘,除,取余,整除
+,-
加,減
<>
左移,右移
&
按位與
^,|
按位異或,按位或
>,=,<=
比較運(yùn)算
==,!=
等于運(yùn)算
=,+=,-=,*=,/=,%=,//=,**=
賦值運(yùn)算
not,and,or
邏輯運(yùn)算
建議:推薦使用小括號() 來顯示表達(dá)式的計(jì)算順序,而不依賴運(yùn)算符本身的優(yōu)先級,這樣一目了然,方便維護(hù)。
(完。)
推薦閱讀:
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python逻辑表达式3+45and_Python 简明教程 --- 5,Python 表达式与运算符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 下载公众号文章_pytho
- 下一篇: python database is l