1. 程式人生 > >Python 2.表達式(基礎篇)

Python 2.表達式(基礎篇)

出現 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.表達式(基礎篇)