我们编写的大多数语句都包含表达式;一个简单的表达式可以分解为运算符和操作数。

    运算符的功能是完成某件事,它需要数据来进行运算,数据被称为操作数。

    

运算符与用法:

运算符 名称 说明 举例
+ 两个对象相加 3+5,a+b
- 得到负数或一个数减去另一个数 -4,3-1
* 两个数相乘或返回一个被重复若干次的字符串 2*6,la*3得到‘lalala'
** 返回x的y次幂 3**4得81(即3*3*3*3)
/ x除以y 整数除得整数,小数除得小数
// 取整除 返回商的整数部分 4//3.0得到1.0
% 取模 返回除法的余数 8%3得到2
<< 左移 把一个数的二进制位左移一定数目 2<<2得到8
>> 右移 把一个数的二进制位右移一定数目 11>>1得到5

& 按位与 数的按位与 5&3得到1
| 按位或 数的按位或 5|3得到7
^ 异或 数的按位异或 5^3得到6
~ 翻转 x的按位翻转是-(x+1) ~5得到-6
< 小于 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价 5>3返回1,5<3返回0
> 大于 与小于相反
<=
>=
== 等于 比较对象是否相等
!= 不等于 比较两个对象是否不相等

not 布尔非 如果x为False,返回True,为True,返回False
and 布尔与
or 布尔或
Python的运算符优先级

运算符 描述
lambda lambda表达式
or 布尔或
and 布尔与
not 布尔非
in,not in 成员测试
is,isnot 同一性测试
<,<=,>,>=,!=,== 比较
| 按位或
^ 按位异或

& 按位与
<<,>> 移位
+,- 加法与减法
*,/,% 乘法、除法与取余
+x,-x 正负号
~ 按位翻转
** 指数
x.attribute 属性参考
x[index] 下标
x[index:index] 寻址段

f(arguments..) 函数调用
(experession..) 绑定或元组显示
[expression..] 列表显示
{key:datum,...} 字典显示
'expression,...' 字符串转换
    默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。如果你想要改变它们的计算顺序,你得使用小括号。

    运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算;一些如赋值运算符那样的运算符是由右向左的。