Python 3 - 运算符

  • 简述

    运算符是可以操纵操作数值的结构。考虑表达式 4 + 5 = 9。这里,4 和 5 称为操作数,+ 称为运算符。
  • 运算符类型

    Python 语言支持以下类型的运算符 -
    • 算术运算符
    • 比较(关系)运算符
    • 赋值运算符
    • 逻辑运算符
    • 位运算符
    • 会员运算符
    • 身份运算符
    让我们一一看一下所有的操作符。
  • Python 算术运算符

    假设变量a保存值 10 和变量b保持值 21,然后 -
    操作符 描述 例子
    + 加法 在运算符的任一侧添加值。 a + b = 31
    - 减法 从左手操作数中减去右手操作数。 a – b = -11
    * 乘法 将运算符两边的值相乘 a * b = 210
    / 除法 将左手操作数除以右手操作数 b / a = 2.1
    % 取模 将左手操作数除以右手操作数并返回余数 b % a = 1
    ** 幂 对运算符执行指数(幂)计算 a**b =10 to the power 20
    // 向下取整除法 - 操作数的除法,结果是小数点后数字被去除的商。但是,如果其中一个操作数是负数,则结果会被取整,即从零开始四舍五入(朝向负无穷大): 9//2 = 4 and 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0
  • Python 比较运算符

    这些运算符比较它们两边的值并决定它们之间的关系。它们也称为关系运算符。
    假设变量a保存值 10 和变量b保持值 20,然后 -
    操作符 描述 例子
    == 如果两个操作数的值相等,则条件为真。 (a == b) is not true.
    != 如果两个操作数的值不相等,则条件为真。 (a!= b) is true.
    > 如果左操作数的值大于右操作数的值,则条件为真。 (a > b) is not true.
    < 如果左操作数的值小于右操作数的值,则条件为真。 (a < b) is true.
    >= 如果左操作数的值大于或等于右操作数的值,则条件为真。 (a >= b) is not true.
    <= 如果左操作数的值小于或等于右操作数的值,则条件为真。 (a <= b) is true.
  • Python 赋值运算符

    假设变量a保存值 10 和变量b保持值 20,然后 -
    操作符 描述 例子
    = 将右侧操作数的值分配给左侧操作数 c = a + b 将 a + b 的值赋给 c
    += 它将右操作数添加到左操作数并将结果分配给左操作数 c += a 等同于 c = c + a
    -= 它从左操作数中减去右操作数并将结果赋给左操作数 c -= a 等同于 c = c - a
    *= 它将右操作数与左操作数相乘并将结果赋给左操作数 c *= a 等同于 c = c * a
    /= 它将左操作数除以右操作数并将结果赋给左操作数 c /= a 等同于 c = c / ac /= a 等同于 c = c / a
    %= 它使用两个操作数取模并将结果分配给左操作数 c %= a 等同于 c = c % a
    **= 对运算符执行指数(幂)计算并将值赋给左操作数 c **= a 等同于 c = c ** a
    //= 它对运算符执行楼层除法并将值赋给左操作数 c //= a 等同于 c = c // a
  • Python 按位运算符

    按位运算符作用于位并执行逐位运算。假设如果 a = 60;b = 13; 现在以二进制格式,它们将如下 -
    一 = 0011 1100
    b = 0000 1101
    -----------------
    a&b = 0000 1100
    a|b = 0011 1101
    a^b = 0011 0001
    ~a = 1100 0011
    Python 的内置函数 bin() 可用于获取整数的二进制表示。
    Python 语言支持以下位运算符 -
    操作符 描述 例子
    & 如果两个操作数中都存在,则运算符将位复制到结果 (a & b) (means 0000 1100)
    | 如果它存在于任一操作数中,它会复制一点。 (a | b) = 61 (means 0011 1101)
    ^ 如果它被设置在一个操作数而不是两个操作数中,它会复制该位。 (a ^ b) = 49 (means 0011 0001)
    ~ 它是一元的,具有“翻转”位的效果。 (~a ) = -61 (means 1100 0011 in 2's complement form due to a signed binary number.
    << 左操作数的值向左移动右操作数指定的位数。 a << 2 = 240 (means 1111 0000)
    >> 左操作数的值向右移动右操作数指定的位数。 a >> 2 = 15 (means 0000 1111)
  • Python 逻辑运算符

    Python 语言支持以下逻辑运算符。假设变量a保持真实和可变b然后持有假 -
    操作符 描述 例子
    and Logical AND 如果两个操作数都为真,则条件变为真。 (a and b) is False.
    or Logical OR 如果两个操作数中的任何一个不为零,则条件变为真。 (a or b) is True.
    not Logical NOT 用于反转其操作数的逻辑状态。 Not(a and b) is True.
  • Python 成员运算符

    Python 的成员资格运算符测试序列中的成员资格,例如字符串、列表或元组。有两个成员运算符,如下所述 -
    操作符 描述 例子
    in 如果在指定序列中找到变量,则计算结果为 true,否则计算结果为 false。 x in y, here in results in a 1 if x is a member of sequence y.
    not in 如果未在指定序列中找到变量,则计算结果为 true,否则计算结果为 false。 x not in y, here not in results in a 1 if x is not a member of sequence y.
  • Python 身份运算符

    身份运算符比较两个对象的内存位置。有两个身份运算符,如下所述 -
    操作符 描述 例子
    is 如果运算符两侧的变量指向同一个对象,则计算结果为 true,否则计算结果为 false。 x is y, here is results in 1 if id(x) equals id(y).
    is not 如果运算符两侧的变量指向同一个对象,则计算结果为 false,否则计算结果为 true。 x is not y, here is not results in 1 if id(x) is not equal to id(y).
  • Python 运算符优先级

    下表列出了从最高优先级到最低优先级的所有运算符。
    序号 运算符和描述
    1
    **
    求幂(提高到次方)
    2
    ~ + -
    补码,一元加号和减号(最后两个的方法名称是+@和-@)
    3
    * / % //
    乘法、除法、取模和底除法
    4
    + -
    加减
    5
    >> <<
    右移和左移位
    6
    &
    按位“与”
    7
    ^ |
    按位异或和正则或
    8
    <= < > >=
    比较运算符
    9
    <> == !=
    相等运算符
    10
    = %= /= //= -= += *= **=
    赋值运算符
    11
    is is not
    身份运算符
    12
    in not in
    会员运算符
    13
    not or and
    逻辑运算符