1. 程式人生 > >《Think Python》第7章學習筆記

《Think Python》第7章學習筆記

決定 tro LG 以及 roo pre ssi 一個 span

[TOC]

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 出現的可能性一致。

《Think Python》第7章學習筆記