1.
/和//的区别
/是除(不同于c语言),而//是取整除。两个运算符用于赋值时(/=,//=)也是同样道理,如下
>>> 4/3 1.3333333333333333 >>> 4//3 1
而
>>> -4/3 -1.3333333333333333 >>> -4//3 -2 可见//是取小于相除的实际结果的最大整数。
>>> 3<4<5 True
>>> 1<2>0 True >>> 2<1>0 False
3<4<5怎么解释?
其实等价于 3<4 and 4<5
2.各类操作符优先级由高到低排列如下
(1)幂运算符(**):特别说明当幂运算符左边有一元运算符(单目运算符)时其优先级高于左边,当右边有一元运算符时,低于右边,例如
>>> -3**2 -9
>>> 2**-1 0.5
(2)正负号(单目运算符)
(3)算术操作符
(4)比较操作符
(5)逻辑操作符
逻辑运算符中优先级 not>and>or