Python表達式及運算符

 

表達式

  • 由一個或者幾個數字或者變量或者運算符合成的一行代碼
  • 一般返回一個結果

運算符

  • 由一個以上的值通過一系列的運算獲得新值的過程叫運算
  • 用來操做運算的符號叫運算符
  • 運算符分類
    • 算數運算符
    • 比較或者關係運算符
    • 賦值運算符
    • 邏輯運算符
    • 位運算
    • 成員運算符
    • 身份運算符
In [1]:
# 表達式案例
a = 1+2
 

算數運算符

  • 用來進行算數運算符
  • 一般用來表示加減乘除
  • Python沒有自增自減運算符
In [9]:
# 算數運算符案例
# 加減跟數學意義基本一致

a = 9 + 2
print(a)

b = 9 - 2
print(b)

c = 8 * 2
print(c)

# python除法分爲的普通除法,地板除,取餘
# 正常除法
# 此操做在python2.x 和3.x 中有些不一樣,2中結果爲四捨五入整數,3中結果爲小數
a = 9 / 2
print(a)

# 除以負數的結果
a = 9 / -2
print(a)

# 地板除--取整
a = 9 // 2
print(a)

# python中向下取整即向更小的數取整數
a = 9 // -2
print(a)

# 取餘
a = 9 % 2
print(a)

# 除於負數取餘的結果 
# x%y等價於x-(( x//y )* y )   數學:被除數x= 商(x//y)* 除數y + 餘數
a = 9 % -4
print(a)

# 兩個乘號就是指數
a = 7 ** 2
print(a)
 
11
7
16
4.5
-4.5
4
-5
1
-3
49
 

比較預算符

  • 對兩個內容進行比較的運算符
  • 結果必定是布爾值,即 True/False
In [13]:
# 等於 ==
a = 3 == 4 
print(a)

# 不等於 !=
a = 3 != 4
print(a)

# 其餘的符號是
# > ,>=,<.<=
print(3 >= 8)
print("afdafafadf">"dsafad")
 
False
True
False
False
 

賦值運算符

  • 把一個值放到變量裏去
In [20]:
# 賦值符號 =
a = 9 

# 複雜賦值
a = b = 9
a,b = 1,2

# 賦值的縮寫
cc = 0
cc = cc+ 3
print(cc)

#下面符號是賦值的縮寫
cc += 3
print(cc)

#全部數學運算符均可以縮寫
# -=,*=,/=,//=,%=,**=,都是縮寫形式
# python裏面沒有 ++,--
 
3
6
 

邏輯運算符

  • 對布爾類型變量或者值進行運算的符號
  • and:邏輯與
  • or :邏輯或
  • not:邏輯非
  • python裏面的邏輯運算沒有異或
  • 運算規則:
    • and看作乘法,or看作加法
    • True看作1,False看作0
    • 則邏輯運算就能轉換成整數數學運算
    • 最後結果若是是0則爲False,不然爲True
  • 邏輯運算的短路問題
    • 邏輯運算式,按照運算順序計算,一旦可以肯定整個式子將來的值,則再也不進行計算,直接返回
In [21]:
# 邏輯表達舉例
a = True
b = True 
c = False

aa = a and b  #左邊表達式能夠轉換成1*1
print(aa)

bb = a and c
print(bb)

cc = 100 and c
print(cc)

# 布爾值跟數字的轉換
# 數字轉換成布爾值的時候, 0 = false, 其他是true
# 布爾值轉換成數字的時候: True = 1, Flase = 0
 
True
False
False
In [22]:
# 短路問題案例1
a = True
b = True
c = False

aa = a or b and (a and b) # 轉換成 1+ ....  ......
print(aa)
 
True
In [25]:
# 短路問題案例2
def a():
    print('a')
    return True
def b():
    print('b')
    return True

aaa = a() and b()
print(aaa)

# 字符串乘以數字,表示對這個字符串重複多少遍
print("*" * 20)
bbb = a() orb()#短路發生
print(bbb)
 
a
b
True
********************
a
b
True
 

成員運算符

  • 用來檢測一個值或者變量是否在某一個集合裏面
  • in:成員運算符
  • not in:不在裏面的意思
In [27]:
# in 案例

L = [1,2,3,4,5]
a = 6
aa = a in L
print(aa)

# a沒在L裏面
aa = a not in L
print(aa)
 
False
True
 

身份運算符

  • 用來肯定兩個變量是不是同一個變量
  • is:變量運算符 是
  • is not:不是
  • 學Python的想必都知道,對整數N\in[-5,256],解釋器對他們作了單獨的處理,放進了固定的內存中,不因每次運行而變化
In [30]:
# 身份運算符定義
a = 1
b = 100989888

aa = a is b
print(aa)

# a,b僅僅是值同樣,並不表明a,b是同一個變量,能夠理解爲它們有必定的內存地址
a = 100989888
b = 100989888
aa = a is b
print(aa)

#該案例不同,小整數[-5,256]之間不須要從新開闢內存 ,它們將放到同一個內存地址中
a = 5
b = 5
aa = a is b
print(aa)
 
False
False
True
 

運算符優先級

1. 小括號具備最高優先級
2. **指數(高優先級)
3. ~  +  -  按位翻轉,醫院加號和減號(最後兩個的方法名爲+@和-@)
4. 乘,除,取模和取整數 * / % // 
5. 加法減法+  -     
6. 右移 >>、<<左移運算符
7. & AND ^ | 位運算符
8. <= < > >= 比較預算夫
9. <> == !=  等於運算符
10. = %= /= //=  -= += *= **= 賦值運算符
11. is 與 is not 身份運算符
12. in 與 not in 成員運算符
13. and、or、not 邏輯運算符
相關文章
相關標籤/搜索