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

《Think Python》第5章學習筆記

ssi toc turn nal rec source CA 執行c -c

備忘:parameter 指的是形參,argument 指的是實參。

[TOC]

5.1 整除和取模(Floor division and modulus)

在 Python 3 中,/ 符號對兩個操作數做的是浮點除法(floating-point division),而 // 符號對兩個操作數做的是整除(floor division)。在 Python 2 中,則有所不同。當兩個操作數都是整數時,/ 符號做的是整除;只要兩個操作數中有一個是浮點數時,/ 符號做的是浮點除法。

5.2 布爾表達式(Boolean expressions)

5.3 邏輯運算符(Logical operators)

在 Python 中,有三種邏輯運算符(logical operator):and

or 以及 not

有一點值得註意,在 Python 中,邏輯運算符的操作數並不需要是布爾表達式(boolean expression),任意非零的數都相當於布爾值 True

5.4 條件執行(Conditional execution)

當條件語句下面的執行語句暫時還未確定時,可以將 pass 語句作為占位符——暫時充當執行語句,即:

if x < 0:
    pass  # TODO: need to handle negative values!

5.5 選擇執行(Alternative execution)

5.6 鏈式條件(Chained conditionals)

5.7 嵌套條件(Nested conditionals)

在 Python 中,對於 0 < x and x < 10 這樣的表達式,可以更加簡潔地寫成:0 < x < 10

5.8 遞歸(Recursion)

函數調用自身的執行過程稱為遞歸(recursion)。

5.9 遞歸函數的堆棧圖(Stack diagrams for recursive functions)

5.10 無窮的遞歸(Infinite recursion)

5.11 鍵盤輸入(Keyboard input)

Python 為我們提供了一個內建函數 input 用於從控制臺輸入,當執行 input

函數時,暫停程序的運行,等待用戶輸入,當用戶輸入完畢後(按下 Enter 或者 Return),程序繼續執行,input 函數會將用戶輸入的字符作為一個字符串。

>>> text = input()
What are you waiting for?
>>> text
‘What are you waiting for?‘

input 函數還可以將一個提示的字符串作為參數,提示用戶應該輸入什麽。

>>> name = input(‘What...is your name?\n)
What...is your name?
Arthur, King of the Britons!
>>> name
‘Arthur, King of the Britons!‘

5.12 調試(Debugging)

當語法或者運行錯誤(syntax or runtime error)發生時,錯誤提示中包含大量信息,但是錯誤提示經常是冗長的,包含許多不必要的部分。對於我們而言,其中最有用的部分應該是:

  • 錯誤類型
  • 錯誤發生的行數

值得註意的是,錯誤提示雖然指出了錯誤發生的行數,但是實際中,錯誤發生的地方可能在前面(比如前一行)。

《Think Python》第5章學習筆記