Python學習-必知的表達式運算符小知識

學習Python,我們必須掌握基礎的表達式與運算符這類的小知識,雖然簡單但是真的基礎。

表達式是我們書寫Python語句的基礎,在Python中,單個常量或變量可以看作最簡單的表達式,使用除賦值運算符之外的其他任意運算符和函數調用連接的式子也屬於表達式。
運算符優先級遵循的規則爲:算術運算符優先級最高,其次是位運算符、成員測試運算符、關係運算符、邏輯運算符等,算術運算符遵循“先乘除,後加減”的基本運算原則。 這個大家一定要注意,
雖然Python運算符有一-套嚴格的優先級規則,但是強烈建議在編寫複雜表達式時使用圓括號來明確說明其中的邏輯來提高代碼可讀性。尤其是初學者,寫的代碼不多,代碼寫的可能很爛,過一段時間再看你可能就看不動了,個人建議加好註釋

下面講一下運算符

  1. +運算符 :加法符號,除了算術加法外,列表、元組、字符串合併與連接也可以實現,還有正號的意思
    比如你可以這樣:
>>>[1,2,3,]+[4,5,6]        #連接兩個列表
[1,2,3,4,5,6]
>>>(1,2,3)+(4,)            #連接兩個元組
(1,2,3,4)
>>>'abc'+'1234'            #連接兩個字符串
'abcd1234'
  1. *運算符 : 除了表示算術乘法,還可用於列表、元組、字符串與整數的乘
    法,表示序列元素的重複,生成新的序列對象。
>>> [1,2,3] *3
[1, 2,3,1,2,3,1,2, 3]
>>>(1,2, 3) * 3
(1,2,3,1,2,3,1,2, 3)
>>> 'abc'* 3
'abcabcabc'
  1. 運算符 / 和 // 在Python中分別表示算術除法和算術求整商(floor division)
>>>3/2
#數學意義上的除法
1.5
>>>15//4
#如果兩個操作數都是整數。結果爲整數
3
>>> 15.0//4
#如果操作數中有實數。結果爲實數形式的整數值
3.0
>>> -15/14 
#向下取整,即取比他小的最大整數
-4
  1. %運算符可以用於整數或實數的求餘數運算,還可以用於字符串格式化
>>> 789% 23
#餘數
>>>123.45% 3.2
#可以對實數進行餘數運算。但要注意精度問題
1.84999999999
>>> '%c, %d'%(65, 65) #把65分 別格式化爲字符和整數
'A 65'
  1. **運算符表示冪乘
>>>3**2
#3的2次方,等價於pow(3, 2)
9
>>>90.5
#9的0.5次方。平方根
3.0
>>> (-9)**0.5
#可以計算負數的平方根
(1.8369701987210297e-16+3j)
  1. Python關係運算符可以連用,注意:操作數之間必須可比較大小。
>>>1<3<5
#等價於 1<3 and 3<5
True
>>> math.isclose(0.4-0.1, 0.3)
True
>>> 'Hello' > 'world'
#比較字符串大小
False
>>>[1,2,3]<[1,2,4]
#比較列表大小
True
>>> {1,2,3}<{1,2,3,4}
#測試是否子集,成立代表前面的是後面的真子集,是包含關係
True
>>>{1,2,3)=={3,2,1}
#測試兩個集合是否相等
True
  1. 成員測試運算符 in 用於成員測試,即測試一個個對象是否爲另一個對象的元素。
>>>3 in [1,23]
#測試3是否存在於列表[1,2, 3]中
True
>>> 5 in range(1, 101)
#range()是用來生成指定範圍數字的內置函數
True
>>> 'abc' in "abedefg"
#子字符串測試
True
  1. 集合的交集、並集、對稱差集等運算藉助於位運算符來實現,而差集則使用減號運算符實現。
    注意:集合不允許重複元素
>>>{1,2,3} | {3,4,5}
 #並集,自動去除重複元素 
 {1,2,3,4,5}
>>>{1,2,3}&{3,4,5}
 #交集 
 {3}
 >>>{1,2,3}^{3,4,5}
 #對稱差集
 {1,2,4, 5}
 >>> {1, 2, 3,4} - {34, 5}
#差集
 {1,2}

邏輯運算符

  • 邏輯運算符and、or、not常用來連接條件表達式構成更加複雜的條件表達式,並且and和or具有惰性求值或邏輯短路的特點,當連接多個表達式時只計算必須要計算的值
  • 另外要注意的是,運算符and和or並不一定會返回True或False ,而是得到最後一個被計算的表達式的值 ,但是運算符not一定會返回True或False
>>> 3>5 and a>3
#注意,此時並沒有定文變量a
False
>>> 3>5 or a>3
#3>5的值爲False,所以需要it算後面表達式
NameError: name 'a' is not defined,
>>> 3< 5 or a>3
#3<5的值爲True.不需要計算後面表達式
True
>>>3 and 5
#最後一個計算的表達式的值作爲整個表達式的值
5
>>>5 and 3
3
>>> 3 and 5>2
2   #注意運算符優先級
>>3 not in[1,2,3]
#邏輯非運算not
False
>>>3 is not 5
#not的計算結果只能是True或False之一
True

特別注意
Python不支持**++和- -**運算符。

>>>1=3
>>> ++i 
#正正得正
3
>>> +(+3)
#與 ++i等價
>>> i++
#Python不支持++運算符。語法錯誤
SyntaxError: invalld syntax
>>> --1
#負負得正,等價於-(-1)
>>> ---i
#等價於-(-(-i))
-3
>>> i--
#Python不支持--運算符。語法銷誤
SyntaxError: invalld syntax

好了,基本的運算符差不多都講到了,這一片就介紹到這裏了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章