Python 2.表達式(基礎篇)
阿新 • • 發佈:2018-09-18
出現 als 次方 邏輯與 不存在 算數運算 新的 file 表格
- 表達式
1.由一個或者多個變量夾雜數字和運算符組合成的一行代碼
2.通常會有一個返回值
3.運算符:
1.用於運算的符號叫做運算符
2.運算符分類:
1.算數運算符
2.比較或者關系運算符
3.賦值運算符
4.邏輯運算符
5.位運算符
6.成員運算符
7.身份運算符
-算數運算符-
+,-如同算數一般
a = 2 + 1
b = 2 - 1
print(a)
print(b)
結果如下
3 1
乘號用星號(*)代替
a =2*3
print(a)
結果如下
6
除號使用斜杠(/)代替
並且python2和python3不同 這裏以python3位準
a = 36/6
print(a)
結果如下
6.0
//表示取商運算,也叫地板除
a = 35//6
print(a)
結果如下
5
**表示冪運算 3的3次方
a = 3**3 print(a)
結果如下
27
-比較運算符-
對兩個變量或者值進行比較的運算符
比較的結果是布爾值 則是true是 或 false否
”==“:等於號
a = 1
b = 2
c = a == b #將a和b進行比較 c為存放比較的結果
print(c)
結果如下
False
!=不等於
a = 1
b = 2
c = a!=b #同理上面進行比較之後把值賦給c
print(c)
結果如下
True
== 等於 - 比較對象是否相等 (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 = 0 #對a進行賦值 c = a = 4 #把4作為值賦給a 從而改變a 賦值是從右變得值賦值給左邊的變量 print(c)
結果如下
4
+=:縮寫
a = 4
a += 7 #因為上面賦值的原因所以a=4 所以 a = 4+7
print(a)
結果如下
11
所有的算數運算符都可以縮寫
比如 +=,-=,*=,/=,//=,%=,**= 都是縮寫方式
-邏輯運算符-
對布爾值進行計算的符號
and 邏輯與
or 邏輯或
not 邏輯非
python中沒有邏輯異或運算
運算規則:
and看做乘法,or看做加法
True看作1 ,False看作0
則邏輯運算就能換轉成整數數學運算
最後結果如果是為0則為False ,否則為True
邏輯運算的短路問題:
邏輯運算式,按照運算順序計算,一旦能夠確定整個式子未來的值,則不進行計算,直接返回返回值
邏輯運算案例
a = True b = False c = True #以下式子等價於 d = 1 * 0 + 1 d = a and b or c print(d) #所以d大於0為True d = a or b and c #d = 1 + 0 * 1 print(d)
結果如下
True
True
邏輯運算的短路案例
下面這個例子 d的值一定是為true 於是乎運行到or時候 整個表達式就不在向下計算
a = True d = a or (132) #d = 1 + 一個我們隨便定義的數字當時不能為負數的情況下 最小的當為0 0+1=1所以就會出現短路 print(d)
結果如下
True
而有的時候邏輯運算表達式裏面還有賦值表達式,所以賦值表達式的結果就很難預期
例子(偽代碼=不一定能成功運行的東西)
a = True b=0 d = a or (b=9) and 6 #d = 1 + 9 * 6 括號是為了讓他先執行 #假定上面的語法沒有錯誤的情況下 b是等於9呢還是0呢 print(b)
結果如下
File "D:/圖靈/2.基礎語法/測試.py", line 3
d = a or (b=9) and 6 #d = 1 + 9 * 6 括號是為了讓他先執行
^
SyntaxError: invalid syntax
-成員運算符號-
用來檢測某一個變量是否是另一個變量的成員,或者說在一個成員裏面對另一個成員的內容進行查找
in 和 not in進行判斷
語法 var1 in var2 var not in var2
案例:
a = [1,23,4,5,5] b = 6 print(b in a) #不存在則返回False c = 5 print(c in a) #存在則返回True
結果如下
False
True
-身份運算-
is用來檢測兩個變量是否是同一個變量
is not兩個變量不是同一個變量
通過查看對象所在的內存地址來進行檢測
var1 is var2 var is not var2
有時候值相同 但是不一定是同一個變量
後面有使用id內置函數來解析
a = 1 b = 1 print( a is b) a = "I love zhu" b = "I love zhu" print( a is b)
結果如下
True
True
運算符的優先級問題
括號具有最高優先級
優先級表格
** 指數 (最高優先級)
~ + - 按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法減法
>> << 右移,左移運算符
& 位 ‘AND‘
^ | 位運算符
<= < > >= 比較運算符
<> == != 等於運算符
= %= /= //= -= += *= **= 賦值運算符
is is not 身份運算符
in not in 成員運算符
not or and 邏輯運算符
文筆不好,僅供參考
要有錯誤或者有其他更多的見解,歡迎大家加我QQ384435742來交流
想第一時間看更新的文章,請關註,謝謝
Python 2.表達式(基礎篇)