Python學習筆記(三)運算符與表達式

python運行版本3.6.3
IDE PyCharm 教育版

運算符
  • + (加)
    兩個對象相加。
    3+5 則輸出 8 。 ‘a’ + ‘b’ 則輸出 ‘ab’ 。
  • - (減)
    從一個數中減去另一個數,如果第一個操作數不存在,則假定爲零。
    -5.2 將輸出一個負數, 50 - 24 輸出 26 。
  • * (乘)
    給出兩個數的乘積,或返回字符串重複指定次數後的結果。
    2 * 3 輸出 6 。 ‘la’ * 3 輸出 ‘lalala’ 。
  • ** (乘方)
    返回 x 的 y 次方。
    3 ** 4 輸出 81 (即 3 * 3 * 3 * 3 )。
  • / (除)
    x 除以 y,真除法,不取整
    13 / 3 輸出 4.333333333333333 。
  • // (整除)
    x 除以 y 並對結果向下取整至最接近的整數。
    13 // 3 輸出 4 。-13 // 3 輸出 -5 。
  • << (左移)
    將數字的位向左移動指定的位數。(每個數字在內存中以二進制數表示,即 0 和1)
    2 << 2 輸出 8 。 2 用二進制數表示爲 10 。向左移 2 位會得到 1000 這一結果,表示十進制中的 8 。
  • >> (右移)
    將數字的位向右移動指定的位數。
    11 >> 1 輸出 5 。11 在二進制中表示爲 1011 ,右移一位後輸出 101 這一結果,表示十進制中的5 。
  • & (按位與)
    對數字進行按位與操作。5 & 3 輸出 1 。
  • | (按位或)
    對數字進行按位或操作。5 | 3 輸出 7 。
  • ^ (按位異或)
    對數字進行按位異或操作。5 ^ 3 輸出 6 。
  • ~ (按位取反)
    x 的按位取反結果爲 -(x+1)。~5 輸出 -6 。
  • < (小於)
    返回 x 是否小於 y。所有的比較運算符返回的結果均爲 True 或 False 。請注意這些名稱之中的大寫字母。
    5 < 3 輸出 False , 3 < 6 輸出 True 。比較可以任意組成組成鏈接: 3 < 5 < 7 返回 True 。
  • > (大於)
    返回 x 是否大於 y。
    5 > 3 返回 True 。如果兩個操作數均爲數字,它們首先將會被轉換至一種共同的類型。否則,它將總是返回 False 。
  • <= (小於等於)
    返回 x 是否小於或等於 y。x = 3; y = 6; x<=y 返回 True 。
  • >= (大於等於)
    返回 x 是否大於或等於 y。x = 4; y = 3; x>=3 返回 True 。

  • == (等於)
    比較兩個對象是否相等。
    x = 2; y = 2; x == y 返回 True 。
    x = ‘str’; y = ‘stR’; x == y 返回 False 。
    x = ‘str’; y = ‘str’; x == y 返回 True

  • != (不等於)
    比較兩個對象是否不相等。
    x = 2; y = 3; x != y 返回 True 。
  • not (布爾“非”)
    如果 x 是 True ,則返回 False 。如果 x 是 False ,則返回 True 。
    x = True; not x 返回 False 。
  • and (布爾“與”)
    如果 x 是 False ,則 x and y 返回 False ,否則返回 y 的計算值。
    當 x 是 False 時, x = False; y = True; x and y 將返回 False 。在這一情境中,
    Python 將不會計算 y,因爲它已經瞭解 and 表達式的左側是 False ,這意味着整個
    表達式都將是 False 而不會是別的值。這種情況被稱作短路計算(Short-circuit
    Evaluation)。
  • or (布爾“或”)
    如果 x 是 True ,則返回 True ,否則它將返回 y 的計算值。
    x = Ture; y = False; x or y 將返回 Ture 。在這裏短路計算同樣適用。
數值運算與賦值

變量 = 變量 運算 表達式 可以寫成 * 變量 運算 = 表達式* 。同C語言
a=a*2 等價於 a*=2

優先級

優先級依次升高:

  • lambda :Lambda 表達式
  • if - else :條件表達式
  • or :布爾“或”
  • and :布爾“與”
  • not x :布爾“非”
  • in, not in, is, is not, <, <=, >, >=, !=, == :比較,包括成員資格測試(Membership Tests)和身份測試(Identity Tests)。
  • | :按位或
  • ^ :按位異或
  • & :按位與
  • <<, >> :移動
  • +, - :加與減
  • *, /, //, % :乘、除、整除、取餘
  • +x, -x, ~x :正、負、按位取反
  • ** :求冪
  • x[index], x[index:index], x(arguments…), x.attribute :下標、切片、調用、屬性引用
  • (expressions…), [expressions…], {key: value…}, {expressions…} :表示綁定或元組、表示列表、表示字典、表示集合
其他

結合性和括號使用同C語言

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