美文网首页
python 运算符

python 运算符

作者: cca1yy | 来源:发表于2018-12-21 16:39 被阅读0次

    算术运算符

    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

    相关文章

      网友评论

          本文标题:python 运算符

          本文链接:https://www.haomeiwen.com/subject/bbrjkqtx.html