目录
7.1 重新赋值(Reassignment)
在 Python 中,用等号 =
进行变量赋值,但是变量赋值语句,比如 a = 3
,与数学意义上的等式不是等价的。
7.2 更新变量(Updating variables)
无
7.3 while
语句(The while
statement)
无
7.4 break
语句(break
)
无
7.5 平方根(Square roots)
在 Python 中,判断浮点数相等是一件危险的事。大部分合理的数字(例如:\(1 / 3\))只是近似相等,而像 \(\sqrt{2}\) 这样不合理的数字无法用浮点数正确的表示。因此,不建议检查两个变量 x
和 y
是否相等,更安全的做法是使用内建函数 abs
去计算两个变量差值的绝对值(或者大小)。
if abs(y - x) < epsilon:
break
其中,epsilon
决定了两个变量多接近就足够了,可以取类似 \(0.0000001\) 这样的值。
7.6 算法(Algorithms)
算法的特点之一就是执行过程不需要任何的“智慧”,是一种机械化的过程。每一步的执行都是由上一步根据一些简单的规则确定的。
7.7 调试(Debugging)
减少调试时间的一种方式就是使用“折半调试”(debugging by bisection)。但是在实际中,并不总是能清晰地找出程序的“中点”,并且也没有意义去计算行数,然后找出程序的“中点”。相反,应该多思考程序可能出现错误的地方,以及哪些地方容易进行检查。然后选择一个点,在这个点之前或者之后 bug 出现的可能性一致。