常見運算符


常見運算符

常見運算符有:

加(+)、減(-)、乘(*)、除(/)、等於(==)、取商(//)、取余(%)、賦值運算符(=)

print(10 + 4)
print(10 - 4)
print(10 * 4)
print(10 / 4)
print(10 == 4)
print(10 // 4)
print(10 % 4)
num = 10
print(num)

增量賦值

    x += 100   # x = x + 100
    y -= 100   # y = y - 100
    z *= 100   # z = z * 100
    m /= 100   # m = m / 100

鏈式賦值

     x = 100
     y = 100
     z = 100
     #上述三個式子可以簡化為:
     x = y = z = 100

交叉賦值

     m = 100
     n = 200
     怎么樣令m 與 n的值交換呢?
     常見錯誤形式:
     m = n 
     n = m
     print(m, n)  # 這樣完全是錯誤的,根據賦值符號的本質可以知道。這樣處理厚的m、n都是200

正確形式有兩種:

     1. 通過中間變量進行交換(過於繁瑣不予推薦)
          m = 100
          n = 200
          tem = m
          m = n
          n = tem
          print(m, n)
    2. 通過交叉賦值
          m = 100
          n = 200
          m, n = n, m
          print(m, n)

解壓賦值:取開頭和結尾的幾個值

      salary=[21,15,13,9,26]
      x=salary[0]
      y=salary[1]
      z=salary[2]
      a=salary[3]
      b=salary[4]
      print(x, y, z, a, b)
      這樣從列表里取每個值並賦值給另一個變量名過於麻煩,可以用解壓賦值來解決這類問題。
    方式一:
      x,y,z,a,b=salary  # 這樣解壓賦值時賦值符號左邊的變量名必須與右邊數值個數相等,不可多,不可少
      print(x, y, z, a, b)  
    方式二:
      x, y, *zab = salary  # 這樣解壓賦值時是取前面兩個值分別賦給 x 和 y,剩余的存在列表里賦值給*zab
      print(x, y, *zab)
      x, *abc, z = salary  # 這樣解壓賦值時是分別取最前和最后兩個值分別賦給 x 和 b,剩余的存在列表里賦值給*yza
      print(x, *yza, b)
                           # 無用的數據復制給一個列表的時候,為了滿足語法,可以用下划線做變量名,指向無用數據

邏輯運算符

 邏輯運算符有三種,分別是與(and)、或(or)、非(not)

    1. 與(and)  # 表示且的意思,即所有的條件都要滿足,結果才能是True。
       2 > 1 and 1 = 1 and True and 3 > 2  # 結果為True
       2 < 1 and 1 = 1 and True and 3 > 2  # 結果為False
    2. 或(or)  # 表示或者的意思,只要條件里有一個滿足的結果就為True;一個條件都不滿足結果才為False
       2 < 1 or 1 != 1 or False or 3 < 2  # 結果為True
       2 < 1 or 1 != 1 or False or 3 > 2  # 結果為False
    3. 非(not)  #not 會造成條件翻轉,使False變成True,使True變成False。
       not True  # 結果為False
       not False  # 結果為True
    # 這三種邏輯運算符混合使用時有優先級,不過一般不需要記憶。我們在進行編程時應該提前規定好。
      (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
      print((3 > 4 and 4 > 3) or   (not ((1 == 3 and 'x' == 'x')) or 3 > 3))

成員運算

    成員運算的主要運算是判斷某個數據是否在摸個群體內。
    add_list = ['商丘', '鄭州', '上海', '武漢', '杭州', '北京', '香港']
    print('上海' in add_list)  # True
    print('長沙' in add_list)  # False

身份運算

    1. is:判斷兩個數據的內存地址是否一致 
    2. ==:判斷兩個數據的值是否一致

     l1 = ['cheng', 'kong', 'wang']
     l2 = ['cheng', 'kong', 'wang']
     print(id(l1),id(l2))  # print(id(l1),id(l2))得到的倆個不相等的內存地址
     print(l1 == l2)  # 得到的是true
     print(l1 is l2)  # 得到的是false
    # 很明顯通過上面的也能知道is是判斷倆個成員的id是否相等
    # 而==判斷的是倆個成員的值是否相等

    # 值相等id不一定相等
    # 內存地址相等值一定相等


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM