码迷,mamicode.com
首页 > 编程语言 > 详细

05 Python运算符

时间:2019-03-26 19:52:41      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:das   数值   idt   算术运算   表达   text   python3   htm   not   

Python运算符:

此图来源于菜鸟教程,更详细参考

http://www.runoob.com/python3/python3-basic-operators.html

技术图片 

说明:

同一优先级的通常从左至右计算(赋值运算符是右至左)

如果想要改变它们的计算顺序,得使用圆括号

 

**:幂运算,可进行开方运算

技术图片

 

~:按位非(取反)

一个简单的公式: – (a + 1)

技术图片

原理:① 将a = 5,用原码表示:00000101

               在计算机中,数值的存储一律用补码,正数的原码就是补码

          ② 取反操作~,0变1,1变0,为:11111010

               取反后,为负数的存储形式,最高位为1,补码(负数要想存储在内存中,要经过取反,加1的操作,最后成为补码)

          ③ 减1,为:11111001

              进行相反操作,减1

         ④ 取反,为:10000110

              符号位不用变

         ⑤ 输出,为:-6

 

      ① 将a = -6,用原码表示:100000110

      ② 取反,为:11111001,反码

      ③ 加1,为:11111010,补码

         -6内存中的存储形式

      ④ 取反操作~,为:00000101

         取反后,已经是一个正数的存储形式,正数的补码与原码一样,所以无须进行减一和取反。

      ⑤ 输出,为:5

 

算术运算符:

  *、/、//、%、+、-、

  Note

    floor除法,x // y

    整除(返回一个不大于x / y的值(向下圆整)),有一个为float,结果为float

          求模运算符 x % y,最后结果的符号与y有关,有一个为float,结果为float

  技术图片

 

 <<>>: 左移,最高位不变,每移一位,结果为,原值 * 2 ** n (n为移动的位数)

                 右移,最高位不变,每移一位,结果为,原值 / 2 ** n (n为移动的位数)

 

&:都为1即为1,否则为0

^:相同即为1,否则为0

|:有一个为1即为1,否则为0

 

比较运算符

  >、>=、<、<=、==、!=

  Note:Python2,!=和<>都可以用;

  Python3,只用!=

 

身份运算符:

  isis not

  意思:判断两个标识符是否引用的同一个对象,返回True和False

             实际上就是判断他们的id,id(a) == id(b)

 

成员运算符:

  innot in

  意思:判断指定成员是否在序列中,返回True和False

  in,  x in iterable意思为:如果x在iterable里面,就返回True,否则,返回False

  not in,  x not in iterable意思为:如果x不在iterable里面,就返回True,否则,返回False

 

逻辑运算符:

  notandor

  not,and,or同时出现,先算(),再not,再and,再or

  not,真即假,假即真;

  and,都为真即真;

  or,有一个为真即真

  Noteand和or,返回的是真或假的表达式

  技术图片

 

05 Python运算符

标签:das   数值   idt   算术运算   表达   text   python3   htm   not   

原文地址:https://www.cnblogs.com/hardy9sap/p/10602679.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!