zoukankan      html  css  js  c++  java
  • 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,赋值运算符
      • 注意:有括号先算括号中的
  • 相关阅读:
    (算法)最长重叠线段或区间
    (算法)判断两个区间是否重叠
    (笔试题)洗牌算法
    (笔试题)和一半的组合数
    (笔试题)删除K位数字
    (C语言)memcpy函数原型的实现
    每天坚持10分钟,改变你的人生
    你是哪种层次的程序员?程序员的四种类型
    2012年,软件开发者薪资大调查
    上班族:不要让自己成为老板的“日用品”!
  • 原文地址:https://www.cnblogs.com/wangqiangya/p/15771958.html
Copyright © 2011-2022 走看看