點擊標題下「異步圖書」可快速關注html
今天這一本圖書,是全網第一本Python物理建模書。
python
——Garnet Kin-Lic Chan,普林斯頓大學 bash
——Vinothan N. Moanharan,哈佛大學 app
本書全面覆蓋了Python編程語言的基礎知識,側重於物理建模。對於本科生和之前從未接觸過編程的人而言,本書提供了很是有用的Python入門。
爲了清晰地闡述新的知識點,本書提供了豐富的代碼例子和練習,並給出了相應的解答。本書的示例代碼和數據集,能夠從www.epubit.com.cn下載。
最好將本書的紙質版放在計算機旁,其餘可看電子書的設備,例如平板電腦也可。固然也可用運行Python的同一臺電腦查看電子書。
本書將頻繁地要求讀者去嘗試操做。其中的一些操做涉及文本形式的代碼段。讀者能夠從code_samples.txt文件中複製並粘貼代碼到本身的Python會話中,查看輸出,並更改和操做代碼。
讀者也可交互地訪問代碼段。上面給出的Web站點還提供了訪問每一個代碼例子的連接。可從Web頁面複製和粘貼代碼到Python中。
對物理系統建模或許會是一項十分複雜的任務。下面讓咱們瞭解一下功能強大的計算機處理器是如何爲此提供幫助的。
假設你須要指導一位朋友完成倒車入位操做。當時是一個緊急狀況,必須由你這位從未開過車的朋友完成操做,開始操做前,大家之間只能經過電話聯繫。
你須要將操做分解爲可被你的朋友能理解的小步驟,這些小步驟應是明確的,依次執行便可完成任務。例如,你可給出以下一系列指令:
複製代碼
1 將車鑰匙插入點火器。2 轉動鑰匙直至啓動,而後鬆開鑰匙。3 按下變速桿上的按鈕,將變速掛入「倒車」標識的檔位。4 ……
遺憾的是,即便你的朋友理解了每條指令,該「代碼」對一些車輛並不起做用。這個過程有「程序故障」。在作第3步指令前,很多車輛須要駕駛者:
複製代碼
此外,變速器上的倒車檔多是用「R」標記的,而非「倒車」。建立這樣的操做指令時,難以作到一開始就習慣操做所需的高精確度。
由於指令是預先給出的(假定你的朋友沒有手機),因此好的作法是容許存在乎外狀況:
複製代碼
這就是算法思想的開端,將長的操做步驟分解爲小的、清晰的子步驟,以及預期中的意外狀況。
若是你的朋友見過別人駕車,並已有了大量的經驗,那麼上述指令足以適用。可是對於另一些沒有任何經驗的朋友,甚至是機器人,須要提供更多的細節。例如,最初兩步指令可能須要進行以下擴展:
複製代碼
握住鑰匙的大頭端。將鑰匙的另外一端插入位於駕駛杆右下方的鑰匙孔內。按順時針方向扭動鑰匙(從鑰匙的大頭端向對端的角度看)。……
命令行解釋器,連同標準函數庫和你本身編寫的程序,一塊兒提供了便利的、強大的科學計算平臺。
複製代碼
這在數學中是不合理的。第二行是一個永假斷言,相應地也是一個無解的等式。可是對於Python而言,「=
」並不是是測試相等性,而是一個須要執行的指令。上面兩行命令的大概意思爲[2]:
2.提取命名對象a
的值,並與1
作求和運算,而後將運算結果賦於a
,並拋棄a
所指代對象的原始值。
咱們每每但願能肯定一個變量是否具備特定的值。爲避免賦值和等價測試間的模糊性,Python以及其餘不少語言都對後者使用雙等號「==
」。例如:
複製代碼
注意:不要在應該使用「==」(等價測試)的地方使用「=」(賦值)。
這是編程新手常犯的一個錯誤。由於「=
」和「==
」都是合法的Python語法,這個錯誤會產生沒法預料的結果。可是不管在何種狀況下,「=
」和「==
」二者中只會有一個是你所須要的。
在不知道a值的狀況下使用「假定b=a2-a」進行減法運算,這在數學上是徹底合理的。該語句將會根據a定義b,不管a的值是什麼。
與此相對比,Python這樣的數學系統在執行賦值語句「b=a**2-a
」後,並不會記住b
和a
之間的關係,它所記住的只是賦給b
的值。若是咱們隨後更改了a
的值,b
的值並不會發生變化[5]。
我有幾張阿里雲幸運券分享給你,用券購買或者升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,立刻就要搶光。