1. 程式人生 > 其它 >python-運算子

python-運算子

運算子

  • 算術運算子:
    • 標準算術運算子:加(+),減(-),乘(*),除(/),整除(//)
    • 取餘運算子:%
    • 冪運算子:**
    • 程式碼:
    • print(1+1)  #加法運算
      print(3-2)  #減法運算
      print(1*3)  #乘法運算
      print(4/2)  #除法運算
      print(10//3)  #整除運算
      print(7%4)  #取餘運算
      print(10**3)  #冪運算

      執行結果:

    • 運算子表
  • 賦值運算子
    • =:
    • 執行順序:右->左
    • 支援鏈式賦值:a=b=c=20
    • 支援引數賦值:+=,-=,*=,/=,//=,%=
    • 支援系列解包賦值:a,b,c=20,30,40
    • 程式碼
    • e=3+4
      print
      (e) print('---鏈式賦值---') a=b=c=20 #鏈式賦值 print(a,id(a)) print(b,id(b)) print(c,id(c)) print('----引數賦值----') a=20 a+=30 #a=a+30 print(a) a-=15 #a=a-15,現在a的值為50 print(a) a*=2 #a=a*2 print(a) a/=2 #a=a/2 print(a) a//=2 print(a) a%=3 print(a) print('----解包賦值-----') a,b,c=10,20,30 #左右變數的個數和值的個數要一直,要不然會報錯 print
      (a,b,c)

      執行結果:

  • 比較運算子
    • 對變數或表示式的結果進行大小,真假等比較
    • 比較運算子:
      • >,<,>=,<=,!=
      • ==:物件value的比較
      • is,is not:物件的id的比較
      • print('---比較運算子,比較運算子的結果為bool型別---')
        a,b=10,20
        print('a大於b嗎',a>b) #false
        print('a小於b嗎',a<b) #true
        print('a<=b嗎',a<=b) #true
        print('a>=b嗎',a>=b) #false
        print('a!=b嗎',a!=b) #
        true print('a==b嗎',a==b) #false a=10 b=10 print(a==b) #true ,說明a和b的value相等 print(a is b) #true,說明a和b的id標識,相等 a1=[11,22,33,44] a2=[11,22,33,44] print(a1==a2) #true print(a1!=a2) #false,說明此a1和a2的id不相等 print(a is not b) #false print(a1 is not a2) #true

        執行結果:

  • 布林運算子
    • 布林運算子:
      • and
      • or
      • not
      • in
      • not in
      • 程式碼:
      • print('---布林運算子---')
        a,b=1,2
        print('----and 並且-------')
        print(a==1 and b==2) #true true and true-->true
        print(a==1 and b<2) #false true and false-->false
        print(a!=1 and b==2) #false false and true-->false
        print(a!=1 and a!=2) #false false and false-->false
        print('----or 或者-----')
        print(a==1 or b==2) #true or true --->true
        print(a==1 or b<2)  #true or false --->true
        print(a!=1 or b==2) #false or true --->true
        print(a!=1 or b!=2) #false or false --->false
        print('---not 對bool型別運算元取反----')
        f=True
        f1=False
        print(not f) #false
        print(not f1) #true
        print('------in,not in---------')
        f='helloword'
        print('h'in f) #true
        print('q'in f) #false
        print('h'not in f) #false
        print('p'not in f) #true

        執行結果:

  • 位運算子
    • 位運算子:將資料轉成二進位制進行計算
    • 位運算子:
      • 位與&:對應數位都是1,結果數位才是1,否則為0
      • 位或|:對應數位都是0,結果數位才是0,否則為1
      • 左移位運算子<<:高位溢位捨棄,低位補0
      • 右移位運算子>>:低位溢位捨棄,高位補0
      • 程式碼:
      • print('---位運算子---')
        print(4&8)  #按位與&,同為1時結果才為1
        print(4|8)  #按位或|,用為0時結果才為0
        
        print(4<<1) #向左移動1位(移動一個位置),相當於乘以2
        print(4<<2) #向左移動2位(移動二個位置),相當於乘以4
        
        print(4>>1) #向右移動1位(移動一個位置),相當於除以2
        print(4>>2) #向右移動2位(移動2個位置),相當於除以4

        執行結果:

  • 運算子的優先順序
    • (),先算括號中的
    • 1,算術運算子,先算乘除後算加減
    • 2,位運算子
    • 3,比較運算子
    • 4,布林運算子
    • 5,賦值運算子
    • 注意:有括號先算括號中的