python 运算符

2018-12-21  本文已影响0人  cca1yy

算术运算符

  1. 加法:+
  2. 减法:-
  3. 乘法: *
  4. 除法: /(与数学中除法一致) 或 //(地板除,只取结果的整数部分,并且是向下取整,即若结果为4.5取4,若结果为-4.5则取-5)
    PS: Python2.x 版本里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
  5. 取余:%
  6. 幂次:**

比较运算符

  1. 等于 ==
  2. 不等于 != 或 <>(a != b 或 a <> b)
  3. 大于 >
  4. 小于 <
  5. 大于等于 >=
  6. 小于等于 <=

赋值运算符

  1. 简单赋值 =
  2. 加法赋值 += (例:i += 1 等价于 i = i + 1,以下各种赋值均类似于加法赋值)
  3. 减法赋值 -=
  4. 乘法赋值 *=
  5. 除法赋值 /=
  6. 取整除赋值 //=
  7. 取余赋值 %=
  8. 幂赋值 **=

位运算符

位运算过程中,把数字转化成二进制计算,然后再转化成数字。

  1. 按位与 & :参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。
  2. 按位或 | :参与运算的两个值, 只要有一个位置为1,则该位的结果为1。
  3. 按位异或 ^ :参与运算的两个值,如果两个相应位数值不同,则结果为1,若相同,则结果为0.
  4. 按位取反 ~ :对数据的每个二进制位取反,即把1变为0,把0变为1 。
  5. 左移位 << :若 a << 2 将数字a对应的二进制数集体向左移动2位,后面空余的2位补零。例:原a二进制:0011 1100, a << 2 ,得 1111 0000,加黑为补零位。
  6. 右移位 >> :若 a >> 3 将数字a对应的二进制数集体向右移动2位,前面空余的2位补零。例:原a二进制:0011 1100, a >> 2 ,得 0000 1111,加黑为补零位。

逻辑运算符

逻辑运算符返回值为true 或 false。

  1. 布尔与 and :如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。。
  2. 布尔或 or :如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
  3. 布尔非 not : 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

成员运算符

检测 x 是否在 y 的序列中。

  1. in :若 x 在 y 的序列中,则返回True,否则返回False。
  2. not in :若 x 不在 y 的序列中,则返回True,否则返回False。

身份运算符

用于比较两个对象 A 和 B 的存储单元是否一致,即判断两个标识符 A 和 B 是不是引用自一个对象。

  1. is : x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。 # id() 函数用于获取对象内存地址。
  2. is not : x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 # id() 函数用于获取对象内存地址。
python内不同数据类型的存储方式总结

可变对象:list,dict
不可变对象:int, string, float, tuple, None
实例:
1)int

图1.int类型.png
图2.int类型2.png
可以看出,图1中a和b都为20,二者存储空间相同。因为int对象在python中是不变的。
因此,int类型数值相等的两个int,指向同一对象。
2)string
图3.string类型.png
图4.string类型2.png
可以看出,只要字符串的内容相同,他们的存储空间也相同。因此指向同一个对象。
了解一下,若输入a = 'python',在计算机内存要怎么做呢?首先,在内存中创建了一个'python'字符串,其次,在内存中创建了一个名为a的变量,并将a指向'python'。因此,不同的变量a 和 b可以同时指向不变对象'python'。
因此,字符串内容相同的两个字符串,其实指向的是同一个对象。
3) tuple
图5.tuple类型.png
图6.tuple类型2.png
若tuple内各个元素值相等,二者存储空间不同,但是若通过赋值,二者存储空间相同。
4)float
图7.float类型.png
float与tuple类似。若float内各个元素值相等,二者存储空间不同,但是若通过赋值,二者存储空间相同。
5)list
图8.list类型.png
若list内各个元素值相等,二者存储空间不同,但是若通过赋值,二者存储空间相同。
6)dict
图9.dict类型.png
若dict内各个元素值相等,二者存储空间不同,但是若通过赋值,二者存储空间相同。

因此,做比较的6种数据类型,只有int和string两种数据类型,若数值相同会共享同一存储空间。

参考链接:

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

上一篇 下一篇

猜你喜欢

热点阅读