zoukankan      html  css  js  c++  java
  • day4:运算符

    1.算术运算符:+ - * / // % **

    注意点:1./ 除法,结果为小数  2.// 地板除,返回整数  3.// 如果被除数或者除数是一个小数,结果加上.0

    2.比较运算符:< > <= >= == !=

    注意点:1.只会产生两种结果:True和False 2.>=,<= 两个值相等,返回值也为True

    3.赋值运算符:= += -= *= /= //= %= **= 

    注意点:1.= 是赋值,从右向左,将右侧的值赋值给左侧变量

                2.a+=b---->a=a+b

    4.成员运算符:in 和 not in (针对于容器型数据)

    注意点:1.字符串必须是一个连续的片段

                2.列表元组字典正常判断即可

                3.在字典中,in和not in在字典中只判断键,不判断值

    5.身份运算符:is 和 is not

    注意点:1.身份运算符的作用是检测两个数据在内存当中是否是同一个值           

                2.判断是否同一个值请看上篇文章:判断id是否相同的部分。

    6.逻辑运算符:and or not

    注意点:1.逻辑与:全真则真,一假则假

                2.逻辑或:全假则假,一真则真

                3.逻辑非:真变假,假变真

                4.逻辑短路: 如果出现了短路效果,后面的代码不执行

          短路条件:(1) True or 表达式 (2) False and 表达式

        5.逻辑运算符的优先级:() > not > and > or

    7.位运算符:  & |  ^ << >> ~

    1.按位与 & 

    2按位或 |  

    3.按位异或 ^ (两个值不一样,返回真,否则返回假)

    4.<< 左移 :左移相当于做乘法 : a * 2的n次幂

      >> 右移 :右移相当于做除法 : a // 2的n次幂

    5.~ 按位非 (针对于补码进行操作,按位取反,包括符号位)

    举个例子:

    ~ 按位非每一位都取反,包括符号位,求反码每一位除了符号位,都取反.

    var1 = ~19
    print(var1)

    原码:0000 ... 10011
    反码:0000 ... 10011
    补码:0000 ... 10011

    补码: 0000 ... 10011
    按位非: 1111 ... 01100

    给你补码求原码:
    补码: 1111 ... 01100
    反码: 1000 ... 10011
    原码: 1000 ... 10100 => -20

    var1 = ~(-22)
    print(var1)
    """
    原码: 1000 ... 10011
    反码: 1111 ... 01100
    补码: 1111 ... 01101

    补码: 1111 ... 01101
    按位非: 0000 ... 10010

    给你补码求原码:
    正数 : 补码 = 反码 = 原码

    原码: 0000 ... 10010 => 18

    -------------------------------

    关于运算符的总结:

    (1) 个别运算符:
    优先级最高 ** 幂运算
    优先级最低 = 赋值运算符
    () 括号可以提升运算优先级

    (2) 整体 一元运算符 > 二元运算符
    一元运算符: 同一时间,只操作一个值 - ~
    二元运算符: 同一时间,操作两个值 + - * / ...

    (3) 同一层级
    逻辑: () > not > and > or
    算数: 乘除 > 加减
    位运算符: ( << >> ) > & > ^ > |

    (4) 其他运算符
    算数运算符 > 位运算符 > 比较运算符 > 身份运算符> 成员运算符 > 逻辑运算符
    赋值运算符是最后算完进行赋值,做收尾工作的.

  • 相关阅读:
    Ibatis,Spring整合(注解方式注入)
    Amoeba搞定mysql主从读写分离
    ClickjackFilterDeny X-Frame-Options
    Clickjacking: X-Frame-Options header missing
    升级至Struts2 2.5.2
    js和java MD5加密
    Struts2 2.5.2
    Struts2 2.5.2的套路
    java8 集合流式操作
    JS 文本输入框放大镜效果
  • 原文地址:https://www.cnblogs.com/libolun/p/13226375.html
Copyright © 2011-2022 走看看