2.4 操作符

和其他绝大多数的语言一样,Python中的标准算术操作符以你熟悉的方式工作。

2.4 操作符 - 图1

加、减、乘、除和取余都是标准操作符。Python有两种除法操作符,单斜杠用作传统除法,双斜杠用作浮点除法(对结果进行四舍五入)。传统除法是指如果两个操作数都是整型的话,它将执行的是地板除(取比商小的最大整数)(关于“地板除“请参考第5章——译者注),而浮点除法是真正的除法,不管操作数是什么类型,浮点除法总是执行真正的除法。你可以在第5章学到更多有关传统除法、真正的除法及浮点除法的知识。

还有一个乘方操作符,双星号(**)。尽管我们一直强调这些操作符的算术本质,但是请注意对于其他数据类型,有些操作符是被重载了,比如字符串和列表。让我们看一个例子。

2.4 操作符 - 图2

1

就像你看到的,操作符的优先级和你想象的一样:+和-优先级最低,、/、//、%优先级较高,单目操作符+和-优先级更高,乘方的优先级最高。(3**2)首先求值,然后是(−24),然后是对两个结果进行求和。

Python当然也有标准比较操作符,比较运算根据表达式的值的真假返回布尔值。

2.4 操作符 - 图3

试一试,看看这些比较运算会得到什么结果。

2.4 操作符 - 图4

Python目前支持两种“不等于“比较操作符,!=和<>,分别是C风格和ABC/Pascal风格。目前后者慢慢地被淘汰了,所以我们推荐使用前者。

Python也提供了逻辑操作符。

and  or  not

使用逻辑操作符可以将任意表达式连接在一起,并得到一个布尔值。

2.4 操作符 - 图5

最后一个例子在其他语言中通常是不合法的,不过Python支持这样的表达式,既简洁又优美。它实际上是下面表达式的缩写:

2.4 操作符 - 图6

参阅4.5节以得到更多有关Python操作符的信息。

2.4 操作符 - 图7核心风格:合理使用括号增强代码的可读性

在很多场合使用括号都是一个好主意,而没用括号的话,会使程序得到错误结果,或使代码可读性降低,引起阅读者困惑。括号在Python语言中不是必须存在的,不过为了可读性,使用括号总是值得的。任何维护你代码的人会感谢你,在你再次阅读自己的代码时,你也会感谢你自己。