1.运算符
运算符与操作数组成表达式。 运算符描述
x+y,x-y加、减,“+”号可重载为连接符
x*y,x**y,x/y,x%y相乘、求平方、相除、求余,
“*”号可重载为重复,“%”号可重载为格式化
<,<=,>,>=,==,<>,!=比较运算符(所有的比较运算符返
回的结果均为True或False )
+=,-=,*=,/=,%=,**=,<<=,>>=,&=,^=,|=自变运算符
x|y按位或
x^y按位异或
x&y按位与
~x按位取反
x<<,x>>yx向左或向右移y位
(每个数字在内存中以二进制数表示)
is, is not等同测试
in, not in是否为成员测试
or,and,not逻辑运算符
x[i],x[i:j],x.y,x(...)索引,分片,限定引用,函数调用
(...),[...],{...},'...'元组,列表,字典,转化为字符串
运算符描述
x+y,x-y加、减,“+”号可重载为连接符
x*y,x**y,x/y,x%y相乘、求平方、相除、求余,
“*”号可重载为重复,“%”号可重载为格式化
<,<=,>,>=,==,<>,!=比较运算符(所有的比较运算符返
回的结果均为True或False )
+=,-=,*=,/=,%=,**=,<<=,>>=,&=,^=,|=自变运算符
x|y按位或
x^y按位异或
x&y按位与
~x按位取反
x<<,x>>yx向左或向右移y位
(每个数字在内存中以二进制数表示)
is, is not等同测试
in, not in是否为成员测试
or,and,not逻辑运算符
x[i],x[i:j],x.y,x(...)索引,分片,限定引用,函数调用
(...),[...],{...},'...'元组,列表,字典,转化为字符串
(1)与python2.x不同,13 / 3输出4.333333333333333,而不是4.
// (整除)--x 除以 y 并对结果向下取整至最接近的整数
(2)not (布尔“非”)
如果x是Ture,则返回False。如果x是False,则返回True。
(3)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)。
(4)or (布尔“或”)
如果 x 是True,则返回True,否则它将返回 y 的计算值。
x = Ture; y = False; x or y 将返回Ture。在这里短路计算同样适用
.运算符优先级(从最低到最高),在同一行的运算符具有相同
优先级
(1)lambda :Lambda 表达式
(2)if - else :条件表达式
(3)or :布尔“或”
(4)and :布尔“与”
(5)not x :布尔“非”
(6)in,not in,is,is not,<, <=, >, >=, !=, ==
比较,包括成员资格测试和身份测试
(7)| :按位或
(8)^ :按位异或
(9)& :按位与
(10)<<, >> :移动
(11)+, - :加与减
(12)*, /, //, % :乘、除、整除、取余
(13)+x, -x, ~x :正、负、按位取反
(14)** :求幂
(15)x[index], x[index:index],x(arguments...),
x.attribute
下标、切片、调用、属性引用
(16)(expressions...), [expressions...],{key: value...},
{expressions...}:显示绑定或数组、显示列表、显示字典、显示设置
3.计算规则:
圆括号来分组运算符和操作数,明确地指出运算的先后顺序。
算符通常由左至右结合。具有相同优先级的运算符将从左至右
进行计算。