if
语句中真的有两个等号吗(if timsAnswer == correctAnswer
)?没错,确实是这样,下面来告诉你这是为什么。
人们通常这么说,“5 加 4 等于 9”,另外会这么问“5 加 4 等于 9 吗?”。前一个是陈述句(statement);另一个是疑问句(question)。
在 Python 中,也同样有陈述句(或语句)以及疑问句(或问题)。语句可能将值赋给一个变量。问题可能查看变量是否等于某个值。前者是在做某种设置(赋值或设置为相等),后者在做某种检查或测试(是否相等,对还是错),所以 Python 使用了两种不同的符号。
我们已经看到,等号(=)用来设置变量或赋值。下面再给出几个例子:
correctAnswer = 5 + 3temperature = 35name = "Bill"
要测试两个东西是否相等,Python 使用了一个双等号(==),如下:
if myAnswer == correctAnswer:if temperature == 40:if name == "Fred":
切记!
混淆 = 和 == 是编程中最常见的错误之一。很多语言(而不只是 Python)都使用了这两个符号,另外每天 都有很多程序员用错这两个符号。
当心!
测试或检查也称为比较。双等号称为一个比较操作符。应该记得,我们在第 3 章讨论过操作符。操作符就是会对两边的值进行操作的一个特殊符号。在这里,操作就是测试两个值是否相等。