算术运算符
算术运算符 | 描述 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除(在Python中除法的运算结果为浮点数) |
// | 商运算,整除求商 |
% | 模运算,整除取余 |
** | 幂运算 |
求商是向下取整。
向下取整,就是在左右两个之间取较小的值。-4<-3
商*除数+余数=被除数
-4*3+2=-10
比较运算符
比较运算符 | 描述 |
== | 左右两侧是否相等 |
!= | 左右两侧是否不等 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
- 数值与数值可比较;字符串与字符串可比较;但数与字符串不可比较。
- 字符串是逐位比较的,字符间的比较遵从ASCII表
ASCII表参见:http://c.biancheng.net/c/ascii/ - 连续比较:a>b>c 等价 a>b and b>c
赋值运算符
赋值运算符 | 描述 |
= | 赋值,从右到左 |
+= | 加后赋值,a += b等于a=a+b |
-= | 加后赋值,a -= b等于a=a+b |
*= | 加后赋值,a = b等于a=ab |
/= | 加后赋值,a /= b等于a=a/b |
//= | 加后赋值,a//=b等于a=a//b |
%= | 加后赋值,a%=b等于a=a%b |
**= | 加后赋值,a%=b等于a=a**b |
逻辑运算符
逻辑运算符 | 描述 |
and | 与运算 |
or | 或运算 |
not | 非运算 |
- a and b,a与b间只要有一个是False,结果即为False;
- a or b,a与b间只要有一个是True,结果即为True。
- 在与或非运算中会出现短路机制。
位运算符(忽略)
位运算 | 描述 |
& | 与运算 |
| | 或运算 |
^ | 异或运算 |
成员运算符
成员运算符 | 描述 |
in | 判断是否是其成员 |
not in | 判断是否不是其成员 |
身份运算符
身份运算符 | 描述 |
is | 判断对象的内存地址是否一致 |
not is | 判断对象的内存地址是否不一致 |
- 求内存地址的函数 id()
思考:为什么数值型变量值相同,内存地址也相同;而列表虽然值相同,但变量的内容地址则不同。测试下其他数据类型。
运算符的优先级
运算符 | 描述(从高到低) |
** | 幂运算(高) |
* / // % | 乘除 求商取余 |
+ - | 加减 |
> < >= <= | 比较运算符 |
== != | 比较运算符 |
= += -= *= /=… | 赋值运算符 |
is, not is | 身份运算符 |
in, not in | 成员运算符 |
and or not | 逻辑运算符 |
三目运算
格式:true_exp if exp else false_exp
【完】
思考:在python中10/3 结果为什么是3.33333333333335?
二进制的有穷性、浮点数精度问题、无限循环。