▄AI訊息時代必備的程式語言▄
從145個日常案例掌握54個Python必懂知識
大白話文解說、全圖解步驟
孩子啟蒙、文科生、無基礎可讀懂、看懂、會操作
非專業人士入門必備教科書
讓你第一次學Python就上手!
•不懂程式介面(那些框框方塊到底是什麼?!)
•不懂程式語言(那些英文和符號組成邏輯是什麼?!)
•不懂演算法(那麼多演算法應該怎麼運用?!)
•不懂Python能做什麼(人人瘋Python,但哪裡用得到啊?!)
▄你的心聲本書有解,Python救星駕到!!!▄
無門檻、全圖解步驟教學的Python教學,讓你不需他人指導,不用上課補習,從生活案例就能理解Python到底能做什麼。本書共包括54個章節,分為三個部分,從基礎編→實戰篇→升級篇,由簡入深,如同遊戲闖關一樣累積經驗值,加上圖示步驟拆解,就算不會,也可以依樣畫葫蘆執行出相同的指令動作。對於沒有基礎的文科生、非電腦專門的一般大眾、甚至有待啟蒙的孩童至青少年,都可以邊看、邊學、邊執行。
•基礎篇:Python軟體下載/程式介面說明/內建程式的介紹/除錯處理/基本資料類型和運算符號/基本程序控制結構/類別的使用/常見使用的模組。
•實戰篇:Python循環的應用/氣泡排序、選擇排序……基礎演算法/文件操作/系統資訊獲取/圖形用戶使用界面程式語言/正規表達式/多執行緒程式/網路程式語言/基本資料庫程式語言。
•升級篇:蒙地卡羅演算法/歐幾里得演算法/遞迴演算法/迪傑特斯拉演算法/貪婪演算法/最近鄰居法(KNN演算法)/平行計算。
◤本書特色◢
•完全圖解步驟教學,看圖解指令照表操課:圖示拆解,一看就上手,一步一步接續完成程式語言。
•案例生活化,秒懂Python基礎知識:提供145個日常生活經驗當例子,邏輯清楚、容易理解,不會被專業演算術語所困惑。
•從基礎到實踐,具遊戲挑戰性:如同遊戲通關,透過案例與詳細程式編說明,由簡入深,非常適合做為孩子、青少年的學程教科書。
•白話文解說,外加運算符號教學:表格解說程式專用符號,讓非電腦專業的人士、文科生先懂基礎,再進入程式編碼原則,專給沒有任何基礎的人學習使用,輕鬆學習無負擔。
作者簡介:
毛雪濤
武漢理工大學Java講師,擔任計算機第一線教學10年。法國巴黎十一大電腦應用技術博士、法國國家實驗室LIMSI-CNRS訪問學者。主要研究方向為計算機網絡、嵌入式系統開發、本文分析、計算機支持協同工作(CSCW)等。主持多項研究專案,曾獲得人機接口系統知識庫及其建構方法的發明專利,著有《網路工程與設計》、《Java Web開發教程─基於Struts2+Hibernate+Spring》、《Java程式設計從入門到精通》、《Visual Basic高階語言程式設計》等書籍。
丁毓峰
武漢理工大學機電工程學院副教授從事機械,電腦應用教學和科學研究工作10年。武漢理工大學機械工程博士,加拿大多倫多大學CIMS實驗室和美國耶魯、紐海芬大學(University of New Haven)訪問學者。主要研究方向為CAD/CAM集成、數位製造、產品虛擬模擬、企業資訊化、系統可靠性與維修等。主持和參與多項國家省部科學研究項目及企業委託科學研究項目。著有《Java Web開發教程─基於Struts2+Hibernate+Spring》、《Java程式設計從入門到精通》、《邏輯學原來如此有趣》、《網路製造資源管理系統建模和開發》、《MATLAB函數查詢及應用案例》等書籍。
各界推薦
名人推薦:
◤專業審訂◢
蔡炎龍
政治大學應用數學系副教授、政大數理資訊學程召集人、政大PyDay創辦人、台灣人工智慧學校老師。美國加州大學爾灣校區(UC Irvine)數學博士,專攻純數學「代數幾何」領域,但多年來看上 Python「簡單、強大、可專注在問題而非程式語言本身」,所以一直致力推廣 Python 程式語言。碩士班時期就研究神經網路,後來又重回深度學習的領域。已在多個場合介紹過深度學習的基本理論和實作方式,也試著用深度學習的方法解決不同領域的問題。
◤好評推薦◢
賴以威/師大電機系助理教授、數感實驗室
名人推薦:◤專業審訂◢
蔡炎龍
政治大學應用數學系副教授、政大數理資訊學程召集人、政大PyDay創辦人、台灣人工智慧學校老師。美國加州大學爾灣校區(UC Irvine)數學博士,專攻純數學「代數幾何」領域,但多年來看上 Python「簡單、強大、可專注在問題而非程式語言本身」,所以一直致力推廣 Python 程式語言。碩士班時期就研究神經網路,後來又重回深度學習的領域。已在多個場合介紹過深度學習的基本理論和實作方式,也試著用深度學習的方法解決不同領域的問題。
◤好評推薦◢
賴以威/師大電機系助理教授、數感實驗室
推薦序
出發到Python的冒險樂園 (蔡炎龍 / 政大應數系副教授、台灣人工智慧學校老師)
我一直覺得,學任何東西,尤其是寫程式,一定要覺得好玩才能學好,而Python本身就是個好玩的程式語言。原創者吉多•范羅蘇姆(Guido van Rossum)當初之所以把這個程式語言叫做Python,是因為他很喜歡英國BBC《蒙提•派森的飛行馬戲團》(Monty Pythons Flying Circus)這個喜劇節目。於是用了這個喜劇團體蒙提•派森(Monty Python)的Python做為他程式語言的名字。
Python是一個很容易上手的程式語言,它讓我們可以專注在要解決的問題上,而不是花很多時間在學習怎麼寫程式。於是我們可以在最短的時間內,把許許多多天馬行空的想法實際做出來。像是Google的第一個版本、YouTube的第一個版本都是用Python寫出來的。NASA也是一個超級愛Python的機構,很多很多太空探測的計畫都在Python的計算下順利完成。
因為Python簡單易學,又是全方位的程式語言,加上社群強大(很多人支援,幾乎任何你想做的事都有人寫好模組可以使用),因此在數據分析、人工智慧這當紅的領域中,Python順理成章成為最受歡迎的程式語言之一!早在大約十多年前,我們已經開始在政大推廣Python程式語言,透過應數系的課程、學程、學生社團、乃至服務隊,讓不管文組理組各領域的同學,甚至偏鄉小朋友都學習Python。
人人都可以學Python,也該來學學Python!而在這麼多Python的書裡面、我們為何特别要推薦這本《【全圖解步驟教學】你的第一本Python入門課》書呢?這本書是武漢理工大學毛雪濤老師為他的小孩撰寫的Python親子共讀本,整個基調就是「進入Python冒險樂園」這種好奇、好玩的基調去進行的。所以非常適合帶領初學者,看看「Python到底能做什麼」。
這不是如語言教學的文法書那樣死死板板教你什麼是迴圈、條件判斷、函式寫法等等。而是在各種情境當中,自然的會需要用到各種Python的工具、自然學會Python這個程式語言。情境導向¬書的困難點是常常要對取材有點取捨,往往會偏重某一個方面,比方說圖形化界面啦、寫網頁啦、爬蟲啦、數據分析等等。
但這本書的特點是,「幾乎大家會在Python做的事,都帶你玩一次!」
一本書裡,居然包括了GUI圖形界面、CGI互動網頁、網路包括電子郵件、資料庫、甚至機器學習等等各式程式設計的主題。技巧中不論基本語法、Python物件導向,甚至多執行緒的主題、或是一些基礎的資料結構像圖的建構等等,都在這一本書裡面呈現!
這本書每一章節都不太長,但要提醒的是,並不一定容易讀。讓我們就抱著到「Python冒險樂園」的心情,有五十四個遊樂設施,好好的一個個去走玩!有興趣的可以多花點時間,覺得還好,就進入下一個冒險。這樣子,會在遊戲的心情當中,就學會所有Python重要技巧!
雖然一開始的目標是教小朋友,但這本書其實適合任何年齡層,特別是開始想要學Python、想要知道程式設計可以做什麼的朋友。事實上,對於一個比較有經驗的人來說,想學學一個以前沒有學過的主題,比方說CGI網頁程式設計等等,也是很好的出發點。因為每一個章節都很短,而這本書幾乎沒有動用太強大的模組,所以可以很短的時間內學會要麼開始,也真的會學會這主題的來龍去脈是什麼。如果對這個主題有興趣,你就有了很好的開始、也會知道到怎麼更深入的學習下去。
所以,現在就出發,往屬於你自己的Python冒險樂園前進吧!
出發到Python的冒險樂園 (蔡炎龍 / 政大應數系副教授、台灣人工智慧學校老師)
我一直覺得,學任何東西,尤其是寫程式,一定要覺得好玩才能學好,而Python本身就是個好玩的程式語言。原創者吉多•范羅蘇姆(Guido van Rossum)當初之所以把這個程式語言叫做Python,是因為他很喜歡英國BBC《蒙提•派森的飛行馬戲團》(Monty Pythons Flying Circus)這個喜劇節目。於是用了這個喜劇團體蒙提•派森(Monty Python)的Python做為他程式語言的名字。
Python是一個很容易上手的程式語言,它讓我們可以專注在要解決的問題上,而不是花很多時...
目錄
基礎篇
第1章 啟程:Python之旅
1.1 懶散的殼:Python IDLE Shell
1.2 小小的成績單:Python程式演示
第2章 捉蟲子:除錯工具
2.1 小小的沉思:bug和debug
2.2 錯在哪?列印除錯資訊
2.3 使用IDLE的Debugger工具
第3章 一個「假程式」:代碼注釋
3.1 詩詞填空:單行注釋
3.2 牛牛的程式
第4章 漂亮的展示牌:輸入、輸出和處理
4.1 漂亮的展示牌:輸出
4.2 接受你的請求:輸入
4.3 程式存在的意義:處理
第5章 動物園裡動物多:資料類型
5.1 獅子、老虎和大象:標準資料類型
5.2 牛牛的牛爺爺:數值類型
第6章 神秘的X生物:變數的命名和賦值
6.1 變數的命名規則
6.2 X館和神秘生物:變數賦值
第7章 弟弟的作業題:算數運算和算術賦值
7.1 算術運算子
7.2 二進位的魔術:位元運算
7.3 設定運算子
第8章 真假是非對錯:比較運算和邏輯運算
8.1 對和錯:邏輯
8.2 能夠組成三角形嗎
8.3 邏輯運算
第9章 有身分的MVP:成員、身分和優先順序
9.1 籃球夢的開始:成員運算子
9.2 誰是MVP:身分運算子
9.3 運算子的優先順序
第10章 我的世界:字元編碼和字串
10.1 從數值到符號:編碼
10.2 小小的1,000隻羊:字串
10.3 沒煩惱的詩人:轉義字元
10.4 字串函式
第11章 王者的藥:條件控制
11.1 健康系統:if語句
11.2 健康系統加強版:if語句的嵌套
第12章 阿波菲斯的劍鞘:列表
12.1 物品列表
12.2 了解自己的物品:列表的函式
12.3 新的物品:列表的操作
第13章 小小蛋糕店:元組和區間
13.1 第一個菜單:建立元組
13.2 請問第4種是什麼蛋糕
13.3 各式各樣的菜單
13.4 等差數列的創造者:range()
第14章 老狼老狼幾點了:迴圈結構
14.1 沒完沒了:while語句
14.2 老狼該休息了:for語句
14.3 小花的脾氣:break、continue和pass
第15章 同學通訊錄:字典
15.1 製作通訊錄:字典和鍵值對
15.2 通訊錄的作用:造訪字典元素
15.3 記錄了多少同學
15.4 一個變兩個:字典的複製
第16章 飛越地平線:基本佇列
16.1 樂園永恆的主題:創建佇列
16.2 FIFO:佇列的基本性質
第17章 小小建築師:函式與參數傳遞
17.1 牆壁和地板:函式的定義和調用
17.2 參數傳遞
第18章 幸運大轉盤:亂數發生器
18.1 誰是幸運顧客:choice()
18.2 免費的蛋糕:sample()
18.3 洗牌:shuffle()
第19章 爺爺的怪蛋糕:類別和對象
19.1 蛋糕範本:類別的定義
19.2 製造蛋糕:創建對象
19.3 如何製造蛋糕?構造方法
第20章 蛋糕家族:類別的繼承
20.1 古怪蛋糕也是蛋糕
20.2 這是遺傳:繼承的特性
第21章 特工聯盟:模組
21.1 聯盟條約:什麼是模組
21.2 聯盟宣言:模組內的變數和程式
21.3 模組的其他特徵
第22章 媽媽生日快樂:日期和時間
22.1 5月的日曆
22.2 母親節是哪一天
22.3 顧客駕到:記錄當前時間
22.4 時間元組和時間戳記
第23章 警報:異常處理
23.1 小小的錯誤:語法錯誤
23.2 非正常行為:異常
23.3 異常捕手:異常處理
23.4 個性化的異常處理
23.5 小小的惡作劇:拋出異常
實戰篇
第24章 雞兔同籠:迴圈的應用
24.1 雉兔各幾何?
24.2 更多的籠子
24.3 「雞兔同籠」遊戲
第25章 步數排行榜:氣泡排序
25.1 前後交換:氣泡排序的基本操作
25.2 改良的氣泡排序
第26章 銷量排行榜:選擇排序
26.1 銷量冠軍:求最大項
26.2 選擇排序
26.3 選擇排序和氣泡排序哪個更快
第27章 程式師的暴力:窮舉法
27.1 百錢買百雞
27.2 破解通關密碼
第28章 開心森林:最短路徑問題
28.1 乘車路線圖
28.2 圖的程式表示方法
28.3 廣度優先搜索
第29章 小小日記本:檔基本操作
29.1 創建日記本
29.2 寫日記:寫入文件
29.3 翻看舊日記:讀取文件
29.4 讀取指定日記
第30章 識得廬山真面目:與系統打交道
30.1 系統資訊:OS常用方法
30.2 檔案系統信息
30.3 調用系統命令
第31章 高級身份牌:GUI程式設計初步
31.1 提拉米蘇的身分牌
31.2 舒芙蕾的身分牌:Text
31.3 更多的小部件
第32章 一觸即發:事件程式設計
32.1 蛋糕列表:Listbox
32.2 程式的感知:事件回應
第33章 印象派:Canvas繪圖
33.1 一條直線:Canvas初探
33.2 標注座標點:繪製文字
33.3 方塊和橢圓
第34章 三國名人錄:繪製圖像
34.1 神機妙算諸葛亮
34.2 三國名人錄
第35章 生命在於運動:Canvas動畫
35.1 Just move
35.2 上下左右:控制動畫
第36章 超強背景音:播放聲音
36.1 播放wav檔
36.2 pip和pygame:安裝外部模組
36.3 蛋糕店的主題曲:播放mp3
第37章 猜數遊戲:GUI應用
37.1 音樂和音效
37.2 遊戲的交互:事件處理
37.3 遊戲介面
第38章 散文中的動詞:規則運算式
38.1 找到楊柳、燕子和桃花
38.2 找到「動詞」:規則運算式的模式
第39章 小小的爬蟲:規則運算式的應用
39.1 切割網頁:為匹配做準備
39.2 找出文字中的連結:正則匹配
第40章 大蛇卡丁車:多執行緒
40.1 賽況直播:了解多執行緒
40.2 小小的秘密武器:執行緒鎖
第41章 您有一個包裹:JSON處理
41.1 小小的禮物:JSON編碼
41.2 吉森的回信:解析JSON
第42章 來自蛋糕店的問候:Web伺服器與CGI程式
42.1 網站的基礎:Web伺服器
42.2 蛋糕店的問候:第一個CGI程式
第43章 為顧客服務:GET和POST
43.1 填寫蛋糕的名字:客戶表單
43.2 客戶表單處理常式
43.3 隱藏資訊的傳遞方式:POST
第44章 小i是個機器人:socket程式設計
44.1 給小i發送消息:用戶端
44.2 小i的回答:伺服器
第45章 小小Email:郵件反射程式
45.1 「吉森,你好!」:文字郵件
45.2 小小的近照:發送附件
第46章 資訊大爆炸:初識資料庫
46.1 什麼是資料庫
46.2 撓癢癢:連接MySQL資料庫
第47章 聰明的BOSS:資料庫應用
47.1 第一件事:創建資料庫
47.2 Drop:刪除資料庫
47.3 員工與蛋糕:創建資料表
47.4 添加第一個員工
升級篇
第48章 大廚的「派」:亂數的應用
48.1 神秘的廚師:蒙地卡羅方法
48.2 派和π:蒙地卡羅法應用
第49章 歐幾里得演算法:輾轉相除
49.1 操場畫分:最大公約數
49.2 最小公倍數
第50章 河內塔問題:遞迴的應用
50.1 簡化的河內塔:三階剛剛好
50.2 河內塔問題的步驟數
第51章 別針換摩托車:迪傑特斯拉演算法
51.1 交換大會:有向加權圖
51.2 小D的辦法:最優路徑
51.3 「換」夢成真:最優路徑演算法
第52章 驗證哥德巴赫猜想:平行計算
52.1 什麼是哥德巴赫猜想
52.2 充分利用CPU:平行計算
第53章 小小旅行家:貪心演算法
53.1 旅行商問題
53.2 環球旅行:貪心演算法
第54章 電影分類和猜蛋糕:KNN演算法
54.1 你會看電影嗎?特徵抽取
54.2 和哪部電影最像?分類方法
54.3 做多少蛋糕才合適?回歸方法
附錄:如何安裝Python
基礎篇
第1章 啟程:Python之旅
1.1 懶散的殼:Python IDLE Shell
1.2 小小的成績單:Python程式演示
第2章 捉蟲子:除錯工具
2.1 小小的沉思:bug和debug
2.2 錯在哪?列印除錯資訊
2.3 使用IDLE的Debugger工具
第3章 一個「假程式」:代碼注釋
3.1 詩詞填空:單行注釋
3.2 牛牛的程式
第4章 漂亮的展示牌:輸入、輸出和處理
4.1 漂亮的展示牌:輸出
4.2 接受你的請求:輸入
4.3 程式存在的意義:處理
第5章 動物園裡動物多:資料類型
5.1 獅子、老虎和大象:標準資料類型
5.2 牛牛的牛爺爺:數值類型
第...