• Python的6种运算符(日记)


    学习了许久的Python,我单独总结出了Python中比较常见的6种运算符,感觉略有不全,希望大伙可以一起讨论与研究Python!

    一、算术运算符

    减 -

    乘 *

    除 /

    取余 %

    取整 //

    异号 -

    不变号 +

    取绝对值 abs(x)

    转为整数 int(x)

    转为浮点数 float(x)

    复数 complex(re,im)

    共轭复数 c.conjugate()

    返回一个数值对(x//y,x%y) divmod(x,y)

    x的y次幂(两种写法) x**y,pow(x,y)

     

    二、比较运算符

    小于(<),小于等于(<=),等于(==),大于(>),大于等于(>=),不等于(!=),is(判断两个标识符引用一个对象) ,is not(不是同一个对象)

    1.八个比较运算符优先级相同

    2.python允许链式比较 x<y<z,它相当于 x<y and y<z

    3.复数不能用于比较大小,只能用于比较相等

     

    三、逻辑运算符

    x or y 短路运算符 (它只有第一个运算数为false才计算第二个运算数的值)

    x and y 短路运算符 (它只有第一个运算数为True才进行第二个运算数的值)

    not x not的优先级低(not a==b 相当于 not(a==b)),a = not b 是错误的

     

    四、位运算符

    python中的位运算符是把数字看作是二进制来进行计算的

    & 按位与运算符:参数运算的两个值(二进制),如果两个相应为都为1,则改为的结果为 1,否则为0

    | 按位或运算符:参与运算的两个值,只有对应位的两个数,有一个为1,结果为1

    ^ 按位异或运算符:对应位数数值不同为1,相同为0

    ~ 按位取反运算符:针对单个数,二进制格式,相应的位的数值取反,1变0,0变1

    << 左移动运算符:各二进制位左移若干位,高位丢弃,低位补0

    >> 右移动运算符:各二进制位又移若干位

    >>> a = bin(20)
    >>> a
    '0b10100'
    >>> b = bin(30)
    >>> b
    '0b11110'

    二进制数:默认8位,0b前缀标识,从地位到高位读取,从右到左写,不够的位数补0,直到读取8位为止

    调用python二进制函数bin,0b代表二进制标识符,二进制数默认8位,则a,b对应的二进制数为:

    a = 25 = 0001 1001

    b = 62 = 0011 1110

    a&b =24= 0001 1000

    a|b =63 = 0011 1111

    a^b = 39 = 0010 0111

    ~a = -26 = 1110 0110

    负数:

    源码:0001 1010

    反码:1110 0101

    补码:1110 0110

    a<<2 = 100 = 0110 0100

    a>>2 = 6= 0000 0110

    >>> bin(25)
    '0b11001'
    >>> bin(62)
    '0b111110'
    >>> 25&62
    24
    >>> bin(24)
    '0b11000'
    >>> 25|62
    63
    >>> bin(63)
    '0b111111'
    >>> 25^62
    39
    >>> bin(39)
    '0b100111'
    >>> ~25
    -26
    >>> bin(-26)
    '-0b11010'
    >>> 25<<2
    100
    >>> bin(100)
    '0b1100100'
    >>> 25>>2
    6
    >>> bin(6)
    '0b110'

    验证

    >>> eval('0b00011000')
    24
    >>> eval('0b00111111')
    63
    >>> eval('0b00100111')
    39
    >>> eval('-0b00011010')
    -26
    >>> eval('0b01100100')
    100
    >>> eval('0b00000110')
    6

    五、赋值运算符

    = 简单的赋值

    += 加法赋值运算

    -= 减法赋值运算

    *= 减法赋值运算

    /= 除法赋值运算

    %= 取余法赋值运算

    **= 幂赋值运算

    //= 取整除赋值运算

     

    六、成员运算符

    python提供了成员运算符,测试一个元素是否在序列(squence)中

    in 如果指定元素在序列中,返回True,否则返回False

    not in 如果指定元素不在序列中,返回True,否则返回False

    谢谢大伙观看!

  • 相关阅读:
    Android之缩减apk大小[资源文件篇]:基于自定义Shape设置ShapeDrawable
    二叉排序树与堆的区别
    4、多用类型常量,少用#define预处理指令
    3、多用字面量语法,少用与之等价的方法
    2、在类的头文件中尽量少引入其他头文件
    1、了解Objective-C语言的起源
    iOS中date和string的转换
    OC中的抽象基类 和 接口
    Swift -- 基础部分 -- 1、常量和变量
    计算机原理简述-处理器和汇编
  • 原文地址:https://www.cnblogs.com/hewanli/p/11521197.html
Copyright © 2020-2023  润新知