- 程序員數(shù)學(xué):用Python學(xué)透線性代數(shù)和微積分
- (美)保羅·奧蘭德
- 820字
- 2022-01-10 14:44:05
關(guān)于代碼
本書(希望)按照邏輯順序來介紹知識(shí)點(diǎn)。你在第2章學(xué)到的思想適用于第3章,第2章和第3章的思想也會(huì)出現(xiàn)在第4章,以此類推。然而代碼并不總是按照這樣的“順序”來寫的。也就是說,在一個(gè)完成了的程序中,最簡單的思想并不總是出現(xiàn)在源代碼中第一個(gè)文件的第一行。這種差異讓我很難以一種明了的方式呈現(xiàn)全書的源代碼。
我的解決方案是,為每一章搭配一個(gè)Jupyter Notebook形式的代碼文件。Jupyter Notebook就像錄制好的Python交互式會(huì)話一樣,內(nèi)置了圖表和圖像等視覺效果。在Jupyter Notebook中寫代碼非常自由,你可以隨著想法的成熟而在會(huì)話中不斷重寫。每一章的notebook都包含各節(jié)的代碼,按照書中出現(xiàn)的順序運(yùn)行。最重要的是,這意味著你可以在閱讀過程中運(yùn)行書中的代碼,不需要讀完一章再運(yùn)行完整的代碼。附錄A會(huì)告訴你如何配置Python和Jupyter Notebook,附錄B包括一些實(shí)用的Python特性。
本書包含許多源代碼示例,都使用等寬字體與普通文本區(qū)分開來。如果在正文中有解釋,代碼注釋將被刪除。許多代碼清單帶有注釋,用來強(qiáng)調(diào)重要的概念。
在一些情況下,示例的代碼由一個(gè)獨(dú)立的Python腳本組成,既可以單獨(dú)運(yùn)行(例如,python script.py
),也可以在Jupyter Notebook的代碼框中執(zhí)行(例如! python script.py
)。我在一些notebook中加入了對(duì)獨(dú)立腳本的引用,所以你可以逐節(jié)查找相關(guān)的源文件。
整本書中的一個(gè)約定是,用Python交互式會(huì)話中的>>>
提示符來表示運(yùn)行單行Python命令。我建議使用Jupyter Notebook而不是交互式Python,但無論在哪種情況下,帶>>>
的行都代表輸入,不帶>>>
的行代表輸出。下面是一個(gè)代碼塊的例子,代表運(yùn)行Python代碼2 + 2
。
>>> 2 + 2
4
相比之下,下面這個(gè)代碼塊沒有>>>
提示符,所以只是普通的Python代碼,而不是輸入和輸出的序列。
def square(x):
return x * x
本書有上百個(gè)練習(xí),是對(duì)已講過知識(shí)的直接應(yīng)用;還有一些小項(xiàng)目,涉及的內(nèi)容更多,需要更多創(chuàng)造力或新的概念。本書中的大多數(shù)練習(xí)和小項(xiàng)目希望你用Python代碼來解決一些數(shù)學(xué)問題。除了一些開放式的小項(xiàng)目外,本書幾乎包含了所有問題的解決方案。你可以在相應(yīng)章節(jié)的notebook中找到解決方案的代碼。
本書中的示例代碼和彩色圖片可以從圖靈社區(qū)本書主頁上下載。
- Android Wearable Programming
- Python量化投資指南:基礎(chǔ)、數(shù)據(jù)與實(shí)戰(zhàn)
- Mastering RabbitMQ
- Learning AWS Lumberyard Game Development
- 薛定宇教授大講堂(卷Ⅳ):MATLAB最優(yōu)化計(jì)算
- 編譯系統(tǒng)透視:圖解編譯原理
- Visual C++數(shù)字圖像處理技術(shù)詳解
- HTML+CSS+JavaScript網(wǎng)頁設(shè)計(jì)從入門到精通 (清華社"視頻大講堂"大系·網(wǎng)絡(luò)開發(fā)視頻大講堂)
- Scratch·愛編程的藝術(shù)家
- Troubleshooting Citrix XenApp?
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)項(xiàng)目化教程
- Mastering jQuery Mobile
- 大數(shù)據(jù)時(shí)代的企業(yè)升級(jí)之道(全3冊)
- iOS Development with Xamarin Cookbook
- 分布式系統(tǒng)架構(gòu)與開發(fā):技術(shù)原理與面試題解析