官术网_书友最值得收藏!

前言

如何學(xué)習(xí)編寫第一個(gè)程序,每個(gè)程序員都有不同的故事。我還是個(gè)孩子時(shí)就開始學(xué)習(xí)編程了,當(dāng)時(shí)我父親在計(jì)算時(shí)代的先鋒之一——數(shù)字設(shè)備公司(Digital Equipment Corporation)工作。我使用一臺簡陋的計(jì)算機(jī)編寫了第一個(gè)程序,這臺計(jì)算機(jī)是父親在家里的地下室組裝而成的,它沒有機(jī)箱,裸露的主板與鍵盤相連,顯示器是裸露的陰極射線管。我編寫的這個(gè)程序是一款簡單的猜數(shù)字游戲,其輸出類似于下面這樣:

I'm thinking of a number! Try to guess the number I'm thinking of:25
Too low! Guess again:50
Too high! Guess again:42
That's it! Would you like to play again? (yes/no) no
Thanks for playing!

看到家人玩著我編寫的游戲,而且它完全按我預(yù)期的方式運(yùn)行,我心里不知有多滿足。此情此景我永遠(yuǎn)都忘不了。

兒童時(shí)期的這種體驗(yàn)一直影響我至今。現(xiàn)在,每當(dāng)我通過編寫程序解決了一個(gè)問題時(shí),心里都會(huì)感到非常滿足。相比于孩提時(shí)期,我現(xiàn)在編寫的軟件滿足了更大的需求,但通過編寫程序獲得的滿足感幾乎與從前一樣。

讀者對象

本書旨在讓你盡快學(xué)會(huì)Python,以便能夠編寫能正確運(yùn)行的程序——游戲、數(shù)據(jù)可視化和Web應(yīng)用程序,同時(shí)掌握讓你終身受益的基本編程知識。本書適合任何年齡的讀者閱讀,它不要求你有任何Python編程經(jīng)驗(yàn),甚至不要求你有編程經(jīng)驗(yàn)。如果你想快速掌握基本的編程知識以便專注于開發(fā)感興趣的項(xiàng)目,并想通過解決有意義的問題來檢查你對新學(xué)概念的理解程度,那么本書就是為你編寫的。本書還可供初中和高中教師用來通過開發(fā)項(xiàng)目向?qū)W生介紹編程。

本書內(nèi)容

本書旨在讓你成為優(yōu)秀的程序員,具體地說,是優(yōu)秀的Python程序員。通過閱讀本書,你將迅速掌握編程概念,打下堅(jiān)實(shí)的基礎(chǔ),并養(yǎng)成良好的習(xí)慣。閱讀本書后,你就可以開始學(xué)習(xí)Python高級技術(shù),并能夠更輕松地掌握其他編程語言。

在本書的第一部分,你將學(xué)習(xí)編寫Python程序時(shí)需要熟悉的基本編程概念,你剛接觸幾乎任何編程語言時(shí)都需要學(xué)習(xí)這些概念。你將學(xué)習(xí)各種數(shù)據(jù)以及在程序中將數(shù)據(jù)存儲到列表和字典中的方式。你將學(xué)習(xí)如何創(chuàng)建數(shù)據(jù)集合以及如何高效地遍歷這些集合。你將學(xué)習(xí)使用while和if語句來檢查條件,并在條件滿足時(shí)執(zhí)行代碼的一部分,而在條件不滿足時(shí)執(zhí)行代碼的另一部分——這可為自動(dòng)完成處理提供極大的幫助。

你將學(xué)習(xí)獲取用戶輸入,讓程序能夠與用戶交互,并在用戶沒停止輸入時(shí)保持運(yùn)行狀態(tài)。你將探索如何編寫函數(shù)來讓程序的各個(gè)部分可重用,這樣你編寫執(zhí)行特定任務(wù)的代碼后,想使用它多少次都可以。然后,你將學(xué)習(xí)使用類來擴(kuò)展這種概念以實(shí)現(xiàn)更復(fù)雜的行為,從而讓非常簡單的程序也能處理各種不同的情形。你將學(xué)習(xí)編寫妥善處理常見錯(cuò)誤的程序。學(xué)習(xí)這些基本概念后,你就能編寫一些簡短的程序來解決一些明確的問題。最后,你將向中級編程邁出第一步,學(xué)習(xí)如何為代碼編寫測試,以便在進(jìn)一步改進(jìn)程序時(shí)不用擔(dān)心可能引入bug。第一部分介紹的知識讓你能夠開發(fā)更大、更復(fù)雜的項(xiàng)目。

在第二部分,你將利用在第一部分學(xué)到的知識來開發(fā)三個(gè)項(xiàng)目。你可以根據(jù)自己的情況,以最合適的順序完成這些項(xiàng)目;你也可以選擇只完成其中的某些項(xiàng)目。在第一個(gè)項(xiàng)目(第12~14章)中,你將創(chuàng)建一個(gè)類似于《太空入侵者》的射擊游戲。這個(gè)游戲名為《外星人入侵》,它包含多個(gè)難度不斷增加的等級。完成這個(gè)項(xiàng)目后,你就能夠自己動(dòng)手開發(fā)2D游戲了。

第二個(gè)項(xiàng)目(第15~17章)介紹數(shù)據(jù)可視化。數(shù)據(jù)科學(xué)家的目標(biāo)是通過各種可視化技術(shù)來搞懂海量信息。你將使用通過代碼生成的數(shù)據(jù)集、已經(jīng)從網(wǎng)絡(luò)下載下來的數(shù)據(jù)集以及程序自動(dòng)下載的數(shù)據(jù)集。完成這個(gè)項(xiàng)目后,你將能夠編寫能對大型數(shù)據(jù)集進(jìn)行篩選的程序,并以可視化方式將篩選出來的數(shù)據(jù)呈現(xiàn)出來。

在第三個(gè)項(xiàng)目(第18~20章)中,你將創(chuàng)建一個(gè)名為“學(xué)習(xí)筆記”的小型Web應(yīng)用程序。這個(gè)項(xiàng)目能夠讓用戶將學(xué)到的與特定主題相關(guān)的概念記錄下來。你將能夠分別記錄不同的主題,還可以讓其他人建立賬戶并開始記錄自己的學(xué)習(xí)筆記。你還將學(xué)習(xí)如何部署這個(gè)項(xiàng)目,讓任何人都能夠通過網(wǎng)絡(luò)訪問它,而不管他身處何方。

為何使用Python

繼續(xù)使用Python,還是轉(zhuǎn)而使用其他語言——也許是編程領(lǐng)域較新的語言?我每年都會(huì)考慮這個(gè)問題。可我依然專注于Python,其中的原因很多。Python是一種效率極高的語言:相比于眾多其他的語言,使用Python編寫時(shí),程序包含的代碼行更少。Python的語法也有助于創(chuàng)建整潔的代碼:相比其他語言,使用Python編寫的代碼更容易閱讀、調(diào)試和擴(kuò)展。

大家將Python用于眾多方面:編寫游戲、創(chuàng)建Web應(yīng)用程序、解決商業(yè)問題以及供各類有趣的公司開發(fā)內(nèi)部工具。Python還在科學(xué)領(lǐng)域被大量用于學(xué)術(shù)研究和應(yīng)用研究。

我依然使用Python的一個(gè)最重要的原因是,Python社區(qū)有形形色色充滿激情的人。對程序員來說,社區(qū)非常重要,因?yàn)榫幊探^非孤獨(dú)的修行。大多數(shù)程序員都需要向解決過類似問題的人尋求建議,經(jīng)驗(yàn)最為豐富的程序員也不例外。需要有人幫助解決問題時(shí),有一個(gè)聯(lián)系緊密、互幫互助的社區(qū)至關(guān)重要,而對于像你一樣將Python作為第一門語言來學(xué)習(xí)的人而言,Python社區(qū)無疑是堅(jiān)強(qiáng)的后盾。

Python是一門杰出的語言,值得你去學(xué)習(xí),咱們現(xiàn)在就開始吧!

主站蜘蛛池模板: 玛多县| 巨野县| 汕尾市| 昔阳县| 个旧市| 宕昌县| 汶川县| 盐津县| 商丘市| 和顺县| 辽阳县| 台江县| 措美县| 沛县| 同德县| 鄂州市| 元阳县| 南投县| 开原市| 新余市| 康平县| 翁源县| 巴彦县| 烟台市| 潞城市| 梨树县| 庐江县| 疏附县| 天峻县| 柏乡县| 英山县| 石台县| 芒康县| 元谋县| 武川县| 永善县| 承德县| 大英县| 大冶市| 洪湖市| 灵武市|