Python学习笔记(三)运算符与表达式

版权声明:欢迎转载!如有纰漏之处,欢迎批评指正! https://blog.csdn.net/black_kyatu/article/details/81485597

python运行版本3.6.3
IDE PyCharm 教育版

运算符
  • + (加)
    两个对象相加。
    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,真除法,不取整
    13 / 3 输出 4.333333333333333 。
  • // (整除)
    x 除以 y 并对结果向下取整至最接近的整数。
    13 // 3 输出 4 。-13 // 3 输出 -5 。
  • << (左移)
    将数字的位向左移动指定的位数。(每个数字在内存中以二进制数表示,即 0 和1)
    2 << 2 输出 8 。 2 用二进制数表示为 10 。向左移 2 位会得到 1000 这一结果,表示十进制中的 8 。
  • >> (右移)
    将数字的位向右移动指定的位数。
    11 >> 1 输出 5 。11 在二进制中表示为 1011 ,右移一位后输出 101 这一结果,表示十进制中的5 。
  • & (按位与)
    对数字进行按位与操作。5 & 3 输出 1 。
  • | (按位或)
    对数字进行按位或操作。5 | 3 输出 7 。
  • ^ (按位异或)
    对数字进行按位异或操作。5 ^ 3 输出 6 。
  • ~ (按位取反)
    x 的按位取反结果为 -(x+1)。~5 输出 -6 。
  • < (小于)
    返回 x 是否小于 y。所有的比较运算符返回的结果均为 True 或 False 。请注意这些名称之中的大写字母。
    5 < 3 输出 False , 3 < 6 输出 True 。比较可以任意组成组成链接: 3 < 5 < 7 返回 True 。
  • > (大于)
    返回 x 是否大于 y。
    5 > 3 返回 True 。如果两个操作数均为数字,它们首先将会被转换至一种共同的类型。否则,它将总是返回 False 。
  • <= (小于等于)
    返回 x 是否小于或等于 y。x = 3; y = 6; x<=y 返回 True 。
  • >= (大于等于)
    返回 x 是否大于或等于 y。x = 4; y = 3; x>=3 返回 True 。

  • == (等于)
    比较两个对象是否相等。
    x = 2; y = 2; x == y 返回 True 。
    x = ‘str’; y = ‘stR’; x == y 返回 False 。
    x = ‘str’; y = ‘str’; x == y 返回 True

  • != (不等于)
    比较两个对象是否不相等。
    x = 2; y = 3; x != y 返回 True 。
  • not (布尔“非”)
    如果 x 是 True ,则返回 False 。如果 x 是 False ,则返回 True 。
    x = True; not x 返回 False 。
  • and (布尔“与”)
    如果 x 是 False ,则 x and y 返回 False ,否则返回 y 的计算值。
    当 x 是 False 时, x = False; y = True; x and y 将返回 False 。在这一情境中,
    Python 将不会计算 y,因为它已经了解 and 表达式的左侧是 False ,这意味着整个
    表达式都将是 False 而不会是别的值。这种情况被称作短路计算(Short-circuit
    Evaluation)。
  • or (布尔“或”)
    如果 x 是 True ,则返回 True ,否则它将返回 y 的计算值。
    x = Ture; y = False; x or y 将返回 Ture 。在这里短路计算同样适用。
数值运算与赋值

变量 = 变量 运算 表达式 可以写成 * 变量 运算 = 表达式* 。同C语言
a=a*2 等价于 a*=2

优先级

优先级依次升高:

  • lambda :Lambda 表达式
  • if - else :条件表达式
  • or :布尔“或”
  • and :布尔“与”
  • not x :布尔“非”
  • in, not in, is, is not, <, <=, >, >=, !=, == :比较,包括成员资格测试(Membership Tests)和身份测试(Identity Tests)。
  • | :按位或
  • ^ :按位异或
  • & :按位与
  • <<, >> :移动
  • +, - :加与减
  • *, /, //, % :乘、除、整除、取余
  • +x, -x, ~x :正、负、按位取反
  • ** :求幂
  • x[index], x[index:index], x(arguments…), x.attribute :下标、切片、调用、属性引用
  • (expressions…), [expressions…], {key: value…}, {expressions…} :表示绑定或元组、表示列表、表示字典、表示集合
其他

结合性和括号使用同C语言

猜你喜欢

转载自blog.csdn.net/black_kyatu/article/details/81485597