Python 运算符


  • + (加)
    • 两个对象相加。
    • 3+5 则输出 8
    • 'a' + 'b' 则输出 'ab'
  • - (减)
    • 从一个数中减去另一个数,如果第一个操作数不存在,则假定为零。
    • -5.2 将输出一个负数, 50 - 24 输出 26
  • * (乘) 给出两个数的乘积,或返回字符串重复指定次数后的结果。
    • 2 * 3 输出 6
    • 'la' * 3 输出 'lalala'
  • ** (乘方)
    • 返回 x 的 y 次方。
    • 3 ** 4 输出 81 (即 3 * 3 * 3 * 3 )。
  • / (除)
    • x 除以 y
    • 10 / 3 输出 3.3333333333333335
  • // (整除)
    • x除以y并对结果向下取整至最接近的整数
    • 5 // 2 输出 2
    • -13 // 3 输出 -5
  • % (取模)
    • 返回除法运算后的余数
    • 5 % 2 输出 1
      *-13 % 3 输出 2
  • << (左移)
    • 将数字的位向左移动指定位数(二进制数的移动)
    • 2 << 2 输出 8
    • 2的二进制表示为10,左移两位变成1000,转换为10进制为8
  • >> (右移)
    • 将数字的位向右移动指定位数(二进制数的移动)
    • 13 >> 2 输出 3
    • 13的二进制表示为1011,右移两位变成10,转换为10进制为3
  • & (按位与)
    • 对数字进行按位与操作。
    • 5 & 3 输出 1
    • 按位与是针对二进制数的操作,指将两个二进制数的每一位都进行比较,如果两个相应的二进位都为 1 则此位为 1,否则为 0。在本例中, 5 的二进制表达为 101 , 3 的 二进制表达为 11 (为补全位数进行按位操作写作 011 ),则按位与操作后的结果为 001 ,对应的十进制数为 1 。
    • 两个二进制数对应二进位都为1,则此位为1
  • | (按位或)
    • 对数字进行按位或操作。
    • 5 | 3 输出 7
    • 按位或是针对二进制数的操作,指将两个二进制数的每一位都进行比较,如果两个相 应的二进位有一个为 1 则此位为 1,否则为 0。在本例中,101 与 011 进行按位或操 作后的结果为 111 ,对应十进制数为 7
    • 两个二进制数相应二进位有一个为1,则此位为1
  • ^ (按位异或)
    • 对数字进行按位异或操作。
    • 5 ^ 3 输出 6
    • 按位异或是针对二进制数的操作,指将两个二进制数的每一位都进行比较,如果两个 相应的二进位不同则此位为 1,相同为 0。在本例中, 101 与 011 进行按位异或操作 的结果为 110 ,对应十进制数为 6 。
    • 两个二进制数对应二进位不同,则此位为1
  • ~ (按位取反)
    • x 的按位取反结果为 -(x+1)
    • ~5 输出 ~6
  • < (小于)
    • 返回 x 是否小于 y。所有的比较运算符返回的结果均为 TrueFalse。请注意这些名称中的大写字母
  • > (大于)
    • 如果两个操作数均为数字,他们首先将会被转换至一种共同的类型。否则,它将总是返回 False
  • <= (小于等于)
  • >= (大于等于)
  • == (等于)
  • != (不等于)
  • not (布尔值“非”)
  • and (布尔值“与”)
    • 当 x 是 False 时, x = False; y = True; x and y 将返回 False 。在这一情境中, Python 将不会计算 y,因为它已经了解 and 表达式的左侧是 False ,这意味着整个 表达式都将是 False 而不会是别的值。这种情况被称作短路计算(Short-circuit Evaluation)。
  • or (布尔值“或”)
    • x = Ture; y = False; x or y 将返回 Ture 。在这里短路计算同样适用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容