第一章 程序之道
1. 程序員最終要的能力:解決問(wèn)題的能力 ??
2. 不同程序語(yǔ)言的基本指令:輸入、輸出、數(shù)學(xué)、有條件執(zhí)行、重復(fù)執(zhí)行
3. 算數(shù)運(yùn)算符、值和類(lèi)型(int、float、string)
第二章 變量、表達(dá)式和語(yǔ)句
1. 賦值語(yǔ)句
2. 變量名:合法性、不能實(shí)用關(guān)鍵詞
3. 交互模式和腳本模式
4. 運(yùn)算順序(括號(hào)、指數(shù)、同級(jí)順序從左向右計(jì)算)
5. 字符串運(yùn)算:+用于拼接字符串,*用于重復(fù)運(yùn)算
6. 注釋?zhuān)?用于注釋
第三章 函數(shù)
1. 函數(shù)調(diào)用:例子:type()、int()、float()、str()
2. 數(shù)學(xué)函數(shù): 導(dǎo)入語(yǔ)句import math(math叫做模塊對(duì)象),math.log10()(叫做點(diǎn)標(biāo)記法,調(diào)用相應(yīng)的方法)例子:.sin ?.cos ?.pi
3. 組合:將變量、表達(dá)式和語(yǔ)句組合起來(lái)
4. 新建函數(shù):def 函數(shù)名():
5. 執(zhí)行流程:順序執(zhí)行,函數(shù)被調(diào)用時(shí)才會(huì)執(zhí)行
6. 形參和實(shí)參:在函數(shù)內(nèi)部,實(shí)參被賦值給形參
7. 變量和形參都是局部的
8. 有返回值函數(shù)和無(wú)返回值函數(shù)
第四章 案例研究:接口設(shè)計(jì)
1. 封裝:將一部分代碼包裝在函數(shù)里
2. 泛化:為函數(shù)增加形參
3. 接口:干凈的接口,避免處理不必要的細(xì)節(jié)
4. 重構(gòu):改進(jìn)函數(shù)接口、促進(jìn)代碼復(fù)用
5. 開(kāi)發(fā)方案:開(kāi)發(fā)計(jì)劃(development plan)是一種編寫(xiě)程序的過(guò)程。 此例中我們使用的過(guò)程是“封裝和泛化”。 這個(gè)過(guò)程的具體步驟是:
從寫(xiě)一個(gè)沒(méi)有函數(shù)定義的小程序開(kāi)始。
一旦該程序運(yùn)行正常,找出其中相關(guān)性強(qiáng)的部分,將它們封裝進(jìn)一個(gè)函數(shù)并給它一個(gè)名字。
通過(guò)增加適當(dāng)?shù)男螀ⅲ夯摵瘮?shù)。
重復(fù)1–3步,直到你有一些可正常運(yùn)行的函數(shù)。 復(fù)制粘貼有用的代碼,避免重復(fù)輸入(和重新調(diào)試)。
尋找機(jī)會(huì)通過(guò)重構(gòu)改進(jìn)程序。 例如,如果在多個(gè)地方有相似的代碼,考慮將它分解到一個(gè)合適的通用函數(shù)中。
第五章 條件和遞歸
1. 布爾表達(dá)式
2. 邏輯運(yùn)算符
3. 有條件的執(zhí)行:if
4. 二選一執(zhí)行:if ……else……
5. 鏈?zhǔn)綏l件:if…… elif…… else……
6. 遞歸:一個(gè)函數(shù)調(diào)用另一個(gè)是合法的;一個(gè)函數(shù)調(diào)用它自己也是合法的。一個(gè)調(diào)用它自己的函數(shù)是遞歸的(recursive); 這個(gè)過(guò)程被稱(chēng)作遞歸(recursion)。
7. 鍵盤(pán)輸入:input(“\n”) ?newline