多年以前,編程可能還只是少數(shù)人掌握的一項技能。但是隨著計算機(jī)的普及和人工智能的流行,編程已經(jīng)成為一項男女老幼皆可學(xué)習(xí)的技術(shù)。Python是一種面向?qū)ο蟮慕忉屝统绦蛟O(shè)計語言,也是2017年很受歡迎的人工智能編程語言。
本書通過一個個有趣的程序清單,幫助讀者掌握Python編程的基礎(chǔ)知識。本書內(nèi)容分為9章:D1章介紹了在不同的操作系統(tǒng)上如何安裝Python軟件,后面章節(jié)用實(shí)例對Python編程語言的知識點(diǎn)進(jìn)行剖析,zui后一章展示了4個綜合性應(yīng)用案例,幫助讀者對所學(xué)進(jìn)行總結(jié)鞏固。
本書非常適合對計算機(jī)編程的基礎(chǔ)知識感興趣的青少年及初學(xué)者使用。全書程序清單的原代碼文件可以通過掃描封底上的二維碼獲取。
什么是Python?為什么它很重要?為什么它越來越流行?你心中是不是也同樣充滿了疑惑,也許這本全面的指南將給你一個wan美的答案。在這個網(wǎng)絡(luò)時代,計算機(jī)編程迅猛發(fā)展,幾乎所有的高科技都要使用編程。學(xué)習(xí)這門語言,你會更清楚機(jī)器人的腦回路,對人工智能、自動駕駛等高新科技也會有更深入的理解。
2008 年,編程一詞還帶有很多負(fù)面含義。大部分人認(rèn)為程序員是住在小隔間里的薪奴,每天 8 小時盯著屏幕,艱苦地制作著令人費(fèi)解的文章。那么,以編程為愛好的人是什么樣子呢?應(yīng)該是沉迷于《龍與地下城》、胡子拉碴的極客們吧。今天,如果仍沿用以前的認(rèn)知,那就大錯特錯了,編程(編碼、設(shè)計,或者你想用的任何詞)已經(jīng)變得很酷。人們認(rèn)識到,它并不是一種魔法,不是常人完全無法理解的東西。小孩子們在編程,家庭主婦們在編程,退休老人也在編程這是一項迷人的工作。程序員驕傲地談?wù)撟约旱穆殬I(yè)或者愛好,而不再怕被人貼上極客的標(biāo)簽。但是,為什么會有這樣的變化,是什么促使人們的觀念有了如此大的轉(zhuǎn)變?這里有 3 個關(guān)鍵因素。首先,一些政府機(jī)構(gòu)開始意識到編程在教育中的重要性。在 20 世紀(jì) 80 年代和 90 年代初,本書作者還在英國上學(xué)時,當(dāng)時計算機(jī)編程完全是選修課,很少有孩子選擇它(如前所述,選擇計算機(jī)編程的孩子立刻就被貼上極客的標(biāo)簽)。今天,英國政府鼓勵孩子們盡早學(xué)習(xí)編程并正確認(rèn)識編程,消除了與之相關(guān)的負(fù)面信息。課外編程俱樂部已經(jīng)獲得了巨大成功。
這就引出了編程越來越受歡迎的第二個原因:人們意識到這門學(xué)科傳授的是寶貴的實(shí)用技能。當(dāng)你學(xué)習(xí)編程時,學(xué)到的不僅是一堆古怪的單詞和符號,你將學(xué)會更富有邏輯地思考問題,區(qū)分不同事物并合理進(jìn)行分解,積極尋找解決問題的新方法。這樣學(xué)習(xí)編程的同時,你還能更有效地處理許多日常的難題。最后,一種信用卡大小的計算機(jī)(樹莓派)為編程的流行起到了驚人的作用。樹莓派在全球已經(jīng)售出數(shù)百萬套,它們可用于形形色色的任務(wù),也特別適合于學(xué)習(xí)編程。這種計算機(jī)便宜、簡單,可以接入電視,并自帶現(xiàn)成的Python 編程語言這也是本書的主題。
是什么讓 Python 如此特別?為什么在編程語言如此多樣的情況下,我們要選擇它作為本書的主題?簡而言之,Python 包羅萬象。和那些看上去神秘甚至可怕的語言相比,Python 的代碼更容易理解,近似于自然語言。如果你以前嘗試過編程,受阻于一些語言使用的古怪符號和結(jié)構(gòu),那么在這里你就會覺得輕松多了。與此同時,Python 并不是僅適合于入門開發(fā)者的語言。它已經(jīng)發(fā)展了數(shù)十年,經(jīng)過不斷精煉和改進(jìn),得到了大量實(shí)際應(yīng)用的支持。Python 可用于各種任務(wù),從分類文本文件的小腳本到大的圖形應(yīng)用程序均可滿足。雖然這種語言的核心很簡單,但是通過使用許多附加模塊可以寫出更通用、強(qiáng)大的程序,我們將在本書的最后幾個章節(jié)進(jìn)行介紹。在編程學(xué)習(xí)中,很好的一件事是編程中真正與具體語言相關(guān)的東西很少。當(dāng)然,不同的編程語言有不同的特點(diǎn)和方法,但是最終它們都是要告訴 CPU計算機(jī)的中央處理器該做什么。你在通讀本書,成為高效、博學(xué)的 Python 能手之后,就能輕松地應(yīng)對其他語言學(xué)習(xí)其他編程語言也確實(shí)是成為更好的程序員的絕佳途徑。
邁克?桑德斯是一名關(guān)注計算機(jī)領(lǐng)域發(fā)展的記者、編程培訓(xùn)師和軟件開發(fā)員。他在軟件開發(fā)和各種編程語言的使用方面具有20多年的實(shí)踐經(jīng)驗。他喜愛Python語言,并定期使用它完成小任務(wù)和大工程。此外,他還為計算機(jī)雜志撰寫了大量關(guān)于Python的文章。
第 1章 安 裝
1.1 如何安裝Python 3
1.1.1 在Windows上安裝 3
1.1.2 在MacOS上安裝 5
1.1.3 在Linux上安裝 5
1.1.4 在樹莓派上安裝 8
1.2 編寫和運(yùn)行程序 8
1.2.1 在Windows上使用 8
1.2.2 在MacOS上使用 10
1.2.3 在Linux(包括樹莓派)上使用 11
1.3 錯誤信息的含義 12
第 2章 Python基礎(chǔ)知識
2.1 在屏幕上打印文本 15
2.2 什么是變量? 17
2.3 簡單數(shù)學(xué)運(yùn)算 21
2.4 取得輸入 23
2.4.1 字符串和數(shù)值 25
2.4.2 函數(shù)中的函數(shù) 27
第3章 改變程序流程
3.1 Python的如果和但是 32
3.1.1 我們的第 一個代碼塊 33
3.1.2 多重比較 34
3.1.3 大于、小于、等于還是不等于? 35
3.2 更多條件語句 37
3.3 循環(huán) 41
3.3.1 while循環(huán) 42
3.3.2 循環(huán)內(nèi)部的檢查和循環(huán) 44
3.3.3 無限循環(huán)和跳出 44
3.3.4 for循環(huán) 45
第4章 用函數(shù)節(jié)約時間
4.1 創(chuàng)建簡單函數(shù) 50
4.2 傳遞參數(shù) 54
4.2.1 變量和多個參數(shù) 55
4.2.2 取回數(shù)據(jù) 57
4.3 變量的作用域 59
4.4 有趣的內(nèi)建函數(shù) 62
4.4.1 exec在一個程序的內(nèi)部運(yùn)行另一個程序 62
4.4.2 chr顯示復(fù)雜的字符 64
4.4.3 len獲得字符串的長度 65
4.4.4 pow和round額外的數(shù)學(xué)函數(shù) 66
第5章 處理數(shù)據(jù)
5.1 什么是數(shù)據(jù)結(jié)構(gòu)? 69
5.2 元組的魔力 70
5.3 列表和字典 76
5.3.1 實(shí)時改變元素 78
5.3.2 排序、增加和刪除元素 80
5.3.3 字典 84
5.3.4 一個實(shí)例 87
5.4 數(shù)據(jù)和函數(shù) 89
第6章 保存結(jié)果
6.1 將數(shù)據(jù)保存到文件 95
6.2 讀取文本和二進(jìn)制文件 99
6.2.1 處理結(jié)構(gòu)化數(shù)據(jù) 101
6.2.2 讀取二進(jìn)制文件 103
6.3 在文件中搜索 107
6.4 處理Python數(shù)據(jù) 112
第7章 用模塊做更多的事
7.1 什么是模塊? 121
7.2 和Python捆綁的模塊 124
7.2.1 os模塊 124
7.2.2 time模塊 126
7.2.3 math和random模塊 127
7.2.4 socket模塊 130
7.3 其他實(shí)用的模塊 133
7.3.1 用Pillow操縱圖像 134
7.3.2 用Pygame編寫游戲 137
7.3.3 用Tkinter開發(fā)圖形應(yīng)用 141
第8章 自成一類
8.1 什么是類? 148
8.2 取值方法、賦值方法和邏輯 152
8.3 繼承 157
8.4 使用槽 159
第9章 示例程序
9.1 擊球游戲 163
9.2 員工目錄 166
9.3 文本編輯器 170
9.4 新聞標(biāo)題 173
附錄 挑戰(zhàn)自我的答案