樹莓派 Python 編程入門與實戰, 2/e (Sams Teach Yourself Python Programming for Raspberry Pi in 24 Hours, 2/e) 樹莓派 Python 編程入門與實戰, 2/e (Sams Teach Yourself Python Programming for Raspberry Pi in 24 Hours, 2/e)

勃魯姆 (Richard Blum), 布萊斯納罕 (Christine Bresnahan)

買這商品的人也買了...

商品描述

<內容簡介>

樹莓派是一個只有信用卡大小的裸露電路板,它也是一個運行開源Linux操作系統的完全可編程的PC系統。樹莓派的官方編程語言是Python,本書介紹了樹莓派的Python編程方法。
本書共分7個部分。前6個部分介紹了樹莓派編程環境、Python編程基礎、高級Python知識、圖形化編程、業務編程和樹莓派Python項目;第7部分通過附錄介紹瞭如何將Raspbian加載到SD卡上,並介紹了樹莓派的各種版本和型號。
本書適合對Python編程感興趣的讀者和樹莓派愛好者,也適合想要基於低成本Linux平臺開發應用的用戶。

<目錄>

第一部分樹莓派編程環境
第1章配置樹莓派3
1.1獲取樹莓派3
1.1.1瞭解樹莓派的歷史3
1.1.2為什麼要學習用Python
 在樹莓派上進行編程4
1.2獲取樹莓派5
1.3哪些樹莓派外圍設備是必須的6
1.3.1 microSD卡6
1.3.2電源7
1.3.3顯示輸出8
1.3.4鍵盤和鼠標9
1.3.5使用網線或者Wi-Fi
 適配器9
1.4其他不錯的外圍設備9
1.4.1挑選一個外殼10
1.4.2移動電源​​10
1.4.3自供電USB集線器11
1.5決定如何購買外圍設備11
1.6讓你的樹莓派正常工作11
1.6.1自己研究一下11
1.6.2安裝軟件12
1.6.3下載操作系統12
1.6.4移動NOOBS 13
1.6.5連接外圍設備13
1.7排除樹莓派的故障15
1.7.1檢查外設連接線15
1.7.2檢查microSD卡16
1.7.3檢查NOOBS的副本16
1.7.4檢查顯示器16
1.7.5檢查你的外設17
1.8小結17
1.9 Q&A 17
1.10練習17
1.10.1問題17
1.10.2答案18
第2章認識Raspbian Linux發行版19
2.1瞭解Linux 19
2.2使用Raspbian命令行20
2.3使用Raspbian圖形用戶界面23
2.4 LXDE圖形界面24
LXPanel 25
2.5小結29
2.6 Q&A 29
2.7練習29
2.7.1問題29
2.7.2答案30
第3章搭建編程環境31
3.1探索Python 31
3.1.1 Python簡史31
3.1.2 Python v3和Python v2 32
3.2檢查你的Python環境32
3.2.1檢查Python解釋器和
 交互式shell 32
3.2.2檢查Python開發環境33
3.2.3檢查文本編輯器33
3.3安裝Python和工具34
檢查鍵盤34
3.4關於Python解釋器35
3.5關於Python交互式shell 36
3.6關於Python開發環境shell 38
IDLE開發環境shell 39
3.7創建Python腳本42
3.7.1在交互式shell中運行
 Python腳本43
3.7.2在IDLE中運行Python
 腳本43
3.7.3使用IDLE創建一個
 腳本44
3.7.4使用文本編輯器創建一個
 Python腳本45
3.8使用適當的工具46
3.9小結47
3.10 Q&A 47
3.11練習47
3.11.1問題47
3.11.2答案48
第二部分Python編程基礎
第4章Python基礎51
4.1 Python腳本的輸出51
4.1.1探索print函數51
4.1.2使用字符作為print的
 參數52
4.1.3格式化print函數的輸出53
4.1.4使用轉義序列控制輸出54
4.1.5好玩的東西55
4.2格式化腳本56
4.2.1長文本行56
4.2.2創建註釋57
4.3理解Python變量58
4.3.1 Python關鍵字58
4.3.2創建Python變量名59
4.4給Python變量賦值59
4.4.1格式化變量和字符串
 輸出60
4.4.2避免使用未賦值的變量61
4.4.3將長字符串賦值給變量61
4.4.4給變量賦予更多
 類型的值62
4.4.5給變量重新賦值62
4.5關於Python數據類型63
4.6獲取用戶輸入64
4.7小結69
4.8 Q&A 69
4.9練習69
4.9.1問題69
4.9. 2答案70
第5章在程序中使用算術71
5.1使用數學運算符71
5.1.1 Python數學操作符71
5.1.2運算符的優先級73
5.1.3在數學運算中使用變量74
5.1.4浮點數的精度75
5.1.5顯示數字75
5.1.6運算符縮寫76
5.2使用分數進行計算76
5.2.1分數對象76
5.2.2分數操作77
5.3使用複數77
5.3.1創建複數77
5.3.2複數運算78
5.4 math模塊的高級功能78
5.4.1數值函數79
5.4.2冪和對數函數79
5.4.3三角函數80
5.4.4雙曲函數80
5.4.5統計數學函數81
5.5使用NumPy數學庫81
5.5. 1 NumPy數據類型81
5.5.2創建NumPy數組82
5.5.3使用NumPy數組83
5.6小結83
5.7 Q&A 84
5.8練習84
5.8.1問題84
5.8.2答案85
第6章控制你的程序86
6.1使用if語句86
6.2組合多條語句87
6.3通過else語句添加其他條件89
6.4使用elif添加更多的條件91
6.5在Python中比較值93
6.5.1數字比較93
6.5.2字符串比較94
6.5.3布爾值比較95
6.5.4評估函數返回值95
6.6檢查復雜的條件97
6.6.1使用邏輯運算符97
6.6.2組合條件檢查97
6.7對條件檢查取反98
6.8小結98
6.9 Q&A 99
6.10練習99
6.10.1問題99
6.10.2答案100
第7章循環102
7.1執行重複的任務102
7.2使用for循環進行迭代102
7.2.1遍歷列表中的數字103
7.2.2註意一些“陷阱” 104
7.2.3由值指定的數據類型105
7.2.4遍歷字符串行表106
7.2.5使用變量進行遍歷107
7.2.6使用range函數進行
 迭代107
7.3使用while循環111
7.3.1使用數字條件來進行
 迭代111
7.3.2使用字符串作為判斷
 條件進行遍歷112
7.3.3使用while True 113
7.4創建嵌套循環116
7.5小結117
7.6 Q&A 117
7.7練習118
7.7.1問題118
7.7.2答案118
第三部分高級Python知識
第8章使用列表和元組123
8.1關於元組123
8.1.1創建元組123
8.1.2訪問元組中的數據124
8.1.3訪問一個範圍內的值125
8.1.4使用元組125
8.2關於列表127
8.2.1創建一個列表127
8.2.2從列表中獲取數據128
8.2.3使用列表128
8.3使用多維列表存儲數據133
8.4在腳本中使用列表和元組133
8.4.1遍歷一個列表或元組133
8.4.2排序和倒序134
8.5使用列表解析創建列表134
8.6關於range類型135
8.7小結136
8.8 Q&A 136
8.9練習136
8.9.1問題136
8.9.2答案137
第9章字典和集合138
9.1理解Python字典138
9.2字典基礎139
9.2.1創建一個字典139
9.2.2填充字典139
9.2.3獲取字典中的數據140
9.2.4更新一個字典142
9.2.5管理一個字典143
9.3用字典編程143
9.4理解Python集合148
9.5集合基礎149
填充集合149
9.6從集合獲取信息150
9.6.1集合成員150
9.6.2並集150
9.6.3交集151
9.6.4差集151
9.6.5對稱差集152
9.6.6遍歷集合152
9.7修改一個集合153
9.8用集合編程154
9.9小結157
9.10 Q&A 157
9.11練習157
9.11.1問題157
9.11.2答案158
第10章使用字符串159
10.1字符串的基礎知識159
10.1.1字符串格式159
10.1.2創建字符串160
10.1 .3處理字符串161
10.2使用函數操作字符串162
10.2.1改變字符串值162
10.2.2分割字符串163
10.2.3連接字符串163
10.2.4測試字符串164
10.2.5查找字符串165
10.3格式化字符串輸出166
10.3.1 format()函數167
10.3.2格式化數字168
10.4小結170
10.5 Q&A 171
10.6練習171
10.6.1問題171
10.6.2答案171
第11章使用文件173
11.1理解Linux文件結構173
看一下Linux目錄174
11.2通過Python管理文件和
目錄175
11.3打開文件176
11.3.1指定打開模式177
11.3.2使用文件對象方法178
11.4讀取文件179
11.4.1讀取整個文件179
11.4.2逐行讀取文件180
11.4.3不按順序讀取文件181
11.5關閉一個文件185
11.6寫文件185
11.6.1創建並且寫入一個
 新文件185
11.6.2寫入到已有的文件188
11.7小結190
11.8 Q&A 190
11.9練習190
11.9.1問題190
11.9.2答案191
第12章創建函數192
12.1在程序中使用Python函數192
12.1.1創建函數193
12.1.2使用函數193
12.2返回值195
12.3給函數傳值196
12.3.1傳遞參數196
12.3.2設置參數的默認值198
12.3.3處理可變量量的參數199
12.3.4使用字典檢索值200
12.4在函數中處理變量201
12.4.1局部變量201
12.4. 2全局變量202
12.5在函數中使用列表203
12.6遞歸函數204
12.7小結205
12.8 Q&A 205
12.9練習206
12.9.1問題206
12.9.2答案206
第13章使用模塊207
13.1介紹模塊概念207
13.2探索標準模塊209
13.3學習Python模塊210
13.4創建定製的模塊214
13.4.1創建或收集函數放到
 一起214
13.4.2確定模塊的名稱214
13.4.3在測試目錄中創建
 自定義模塊215
13.4.4測試自定義模塊215
13.4.5將模塊移動到生產
 目錄216
13.4.6檢查路徑,如果需要則
 修改218
13.4.7測試生產級別自定義
 模塊219
13.5小結222
13.6 Q&A 222
13.7練習222
13.7.1問題222
13.7.2答案223
第14章探索面向對象編程的世界224
14.1理解面向對象編程基礎224
14.1.1什麼是OOP 224
14.1.2定義一個類225
14.1.3創建一個實例225
14.1.4默認屬性值226
14.2定義類方法227
14.2.1設值方法227
14.2.2訪問方法228
14.2.3添加輔助方法229
14.3使用類模塊共享你的代碼233
14.4小結235
14.5 Q&A 235
14.6練習235
14.6.1問題235
14.6.2答案236
第15章使用繼承237
15.1瞭解類的問題237
15.2理解子類和繼承238
15.3在Python中使用繼承239
15.3.1創建子類240
15.3.2將子類添加到對象
 模塊文件中241
15.3.3添加其他子類242
15.3.4將子類方法放到它自己的
 對像模塊文件中243
15.4在Python腳本中使用繼承244
15.5小結254
15.6 Q&A 255
15.7練習255
15.7.1問題255
15.7.2答案256
第16章正則表達式257
16.1什麼是正則表達式257
16.1.1定義正則表達式257
16.1.2正則表達式的類型258
16.2在Python中使用正則表達式258
16.3 match()函數259
16.4 search()函數259
16.5 findall ()函數和finditer()函數259
16.6定義基本的模式261
16.6.1純文本261
16.6.2特殊字符262
16.6.3錨字符262
16.6.4點字符264
16.6.5字符分類264
16.6.6字符分類取反266
16.6.7使用範圍266
16.6.8星號267
16.7使用高級正則表達式特性267
16.7.1問號268
16.7.2加號268
16.7.3使用大括號268
16.7.4管道符號269
16.7.5分組表達式269
16.8在Python腳本中使用正則
表達式269
16.9小結271
16.10 Q&A 272
16.11練習272
16.11.1問題272
16.11.2答案273
第17章異常處理274
17.1理解異常274
17.1.1語法錯誤異常274
17.1.2運行時錯誤異常276
17.2處理異常278
17.3處理多個異常280
17.3.1創建多個try except
 語句塊282
17.3.2處理通用的異常284
17.3.3理解try except語句的
 選項285
17.4小結290
17.5 Q&A 290
17.6練習290
17.6.1問題290
17.6.2答案291
第四部分圖形化編程
第18章GUI編程295
18.1為GUI環境編程295
18.1.1視窗接口295
18.1.2事件驅動編程296
18.2 Python的GUI包297
18.3使用tkinter包297
18.3.1創建一個窗口297
18.3.2向窗口添加控件299
18.3.3定義事件處理程序302
18.4 tkinter控件304
18.4.1使用Label控件304
18.4.2添加Button控件304
18.4 .3使用Checkbutton控件304
18.4.4使用Entry控件306
18.4.5添加Text控件307
18.4.6使用ListBox控件309
18.4.7使用Menu控件310
18.5小結313
18.6 Q&A 313
18.7練習313
18.7.1問題313
18.7. 2答案314
第19章遊戲編程315
19.1理解遊戲編程315
19.2瞭解遊戲相關的工具316
19.3配置PyGame庫317
檢查PyGame 317
19.4使用PyGame 317
19.4.1加載和初始化PyGame 319
19.4.2配置遊戲屏幕320
19.4. 3在遊戲畫面中放置
 文本321
19.5學習PyGame的更多內容324
19.5.1一直在遊戲中324
19.5.2繪製圖像和形狀325
19.5.3在遊戲中使用聲音327
19.6處理PyGame動作328
19.6.1在遊戲畫面中移動圖形328
19.6.2與遊戲畫面中的圖形
 交互329
19.7小結336
19.8 Q&A 336
19.9練習336
19.9.1問題336
19.9.2答案337
第五部分業務編程
第20章使用網絡341
20.1查找Python的網絡模塊341
20.2與郵件服務器一起工作342
20.2.1 Linux世界中的郵件342
20.2.2 smtplib庫344
20.2.3使用smtplib庫345
20.3與網頁服務器一起工作348
20.3.1獲取網頁348
20.3.2解析網頁數據349
20.4使用套接字編程連接應用
程序352
20.4.1什麼是套接字編程353
20.4.2 Python的socket模塊353
20.4.3創建服務器程序354
20.4.4創建客戶端程序356
20.4.5運行客戶端/服務器
 示例357
20.5小結358
20.6 Q&A 358
20.7練習358
20.7.1問題358
20.7.2答案359
第21章在程序中使用數據庫361
21.1使用MySQL數據庫361
21.1.1安裝MySQL 361
21.1.2配置MySQL環境362
21.1.3安裝Python的MySQL
 模塊366
21.1.4創建Python腳本367
21.2使用PostgreSQL數據庫370
21.2.1安裝PostgreSQL 370
21.2.2配置PostgreSQL環境370
21.2.3安裝Python的
 PostgreSQL模塊373
21.2.4用psycopg2編寫
 代碼374
21.3小結376
21.4 Q&A 376
21.5練習376
21.5.1問題376
21.5.2答案377
第22章Web編程379
22.1在樹莓派上運行Web服務器379
22.1.1安裝Apache Web
 服務器380
22.1.2提供HTML文件381
22.2公共網關接口編程382
22.2.1什麼是CGI 382
22.2.2運行Python程序382
22.3擴展Python網頁384
22.3.1格式化輸出384
22.3.2使用動態網頁385
22.3.3調試Python程序387
22.4處理表單389
22.4.1創建網頁表單390
22.4.2 cgi模塊391
22.5小結393
22.6 Q&A 394
22.7練習394
22.7.1問題394
22.7.2答案395
第六部分樹莓派Python項目
第23章創建基礎的樹莓派Python
 項目399
23.1思考基礎的樹莓派Python
項目399
23.2通過Python顯示高清
圖片399
23.2.1理解高分辨率400
23.2.2使用腳本演示圖像401
23.2.3配置演示畫面402
23.2.4查找圖片402
23.2.5在可移動的驅動器上
 存儲照片403
23.2.6縮放照片406
23.2.7照片居中407
23.2.8照片取景407
23.2.9提高演示速度409
23.2.10潛在的腳本修改414
23.3播放音樂415
23.3 .1創建基本的音樂腳本415
23.3.2將音樂存儲在可移動的
 硬盤上416
23.3.3使用音樂播放列表416
23.3.4控制回放417
23.3.5讓播放列表隨機播放421
23.3.6創建一個特殊的
 演示422
23.4小結426
23.5 Q&A 426
23.6練習426
23.6.1問題426
23.6.2答案427
第24章樹莓派/Python高級項目428
24.1探索GPIO接口428
24.1.1什麼是GPIO接口428
24.1.2 GPIO引腳佈局429
24.1.3連接GPIO 430
24.2使用RPi.GPIO模塊433
24.2.1安裝RPi.GPIO 433
24.2.2啟動方法433
24.3控制GPIO輸出434
24.3.1配置硬件來查看GPIO
 輸出434
24.3.2測試GPIO輸出436
24.3.3閃爍LED 437
24.3.4創建一個花式的
 閃光燈437
24.4檢測GPIO輸入438
24.4.1配置檢測輸入的
硬件438
24.4.2處理輸入信號440
24.4.3輸入輪詢441
24.4.4輸入事件442
24.5小結444
24.6 Q&A 444
24.7練習444
24.7.1問題444
24.7.2答案445
第七部分附錄
附錄A將Raspbian操作系統加載到
SD卡上449
A.1下載NOOBS 450
A.2驗證NOOBS校驗和451
A.2.1在Linux上檢查校驗和451
A.2.2在Windows上檢查
 校驗和451
A.2.3在OS X上檢查
 校驗和452
A.3解壓縮NOOBS Zip文件452
A.3.1在Linux上解壓縮一個
 ZIP文件452
A.3.2在Windows上解壓縮
 一個ZIP文件453
A.3.3在OS X上解壓縮一個
 ZIP文件453
A.4格式化MicroSD卡453
A.4.1在Linux上格式化
 一個MicroSD卡453
A.4.2在Windows上格式化
 一個MicroSD卡455
A.4.3在OS X上格式化一個
 microSD卡455
A.5將NOOBS複製到一個MicroSD
卡中456
附錄B樹莓派型號一覽457
B.1樹莓派2 B型號457
B.2樹莓派1 B+型號458
B.3樹莓派1 A+型號458
B.4較早的樹莓派型號459