簡介
本書共分7個部分。前6個部分介紹了樹莓派編程環境、Python基礎知識、高級Python、圖形編程、業務編程和樹莓派Python項目;第7部分通過附錄介紹了如何將樹莓派作業系統載入到Raspbian卡上。
本書適合於對Python編程感興趣的讀者和樹莓派愛好者,也適合於想要基於低成本Linux平台開發套用的用戶。
目錄
目錄
第一小時 配置樹莓派 3
樹莓派是什麼? 3
獲取樹莓派 4
哪些樹莓派外設是必須的? 6
其他不錯的外設 9
決定如何購買外設 11
讓你的樹莓派正常工作 11
排除樹莓派的故障 14
總結 15
Q&A 15
練習 16
問題 16
答案 16
第二小時 理解Raspbian linux發行版 17
了解Linux 17
使用Raspbian命令行 18
使用Raspbian圖形界面操作 22
總結 29
Q&A 29
練習 29
問題 29
答案 30
第三小時 搭建編程環境 31
探索Python 31
檢查你的Python環境 32
安裝Python和工具 34
學習Python解釋器 35
學習Python互動式Shell 36
學習Python開發環境shell 38
創建Python腳本 42
使用適當的工具 46
總結 47
Q&A 47
練習 48
問題 48
答案 48
第四小時 理解Python基礎知識 51
顯示腳本的輸出 51
探索print函式 51
使用字元作為print的參數 52
格式化print函式的輸出 53
使用轉義序列控制輸出 54
好玩的東西 55
格式化腳本 56
長文本行 57
創建注釋 57
理解Python變數 58
Python關鍵字 59
創建Python變數名 59
對Python變數進行賦值 60
格式化變數和字元串輸出 60
避免使用為賦值的變數 61
給變數賦值長字元串 61
更多的變數賦值 62
給變數重新賦值 62
學習Python數據類型 63
獲取用戶輸入 64
總結 69
Q&A 69
練習 69
問題 69
答案 69
第五小時 在程式中使用算術 70
使用數學操作符 70
Python數學操作符 70
操作符的優先權 72
在數學運算中使用變數 73
浮點數的精度 74
顯示數字 74
操作符縮寫 75
計算分數 75
分數對象 75
分數操作 76
使用複數 76
創建實數 77
複數運算 77
用math模組衝破你的想像力 77
數論函式 78
冪和對數函式 78
三角函式 79
雙曲函式 80
統計數學函式 80
使用NumPy數學庫 80
NumPy數據類型 81
創建NumPy數組 81
使用NumPy數組 82
總結 82
Q&A 83
練習 83
問題 83
答案 83
第六小時 控制你的程式 84
使用if語句 84
組合多個語句 85
通過else語句添加其他選項 86
使用elif添加更多的選項 88
在Python中比較值 89
數字比較 89
字元串比較 90
列表和元組比較 91
布爾值比較 92
評估函式結果 92
檢查複雜的條件 93
使用邏輯操作符 93
組合條件檢查 94
對條件檢查取反 94
總結 95
Q&A 95
練習 95
問題 95
答案 96
第七小時 學習循環 97
執行重複的任務 97
使用for循環進行疊代 97
遍歷列表中的數字 98
注意一些“陷阱” 99
從列表分配數據類型 100
遍歷字元串列表 101
使用變數進行遍歷 102
使用range函式進行疊代 102
使用while循環來遍歷 106
使用字元串條件進行遍歷 106
使用while True 108
創建嵌套循環 110
總結 111
Q&A 112
練習 112
問題 112
答案 112
第八小時 使用列表和元組 115
介紹元組 115
創建元組 115
訪問元組中的數據 116
訪問一個範圍內的值 117
使用元組 117
介紹列表 119
創建一個列表 119
使用一個列表解析 120
從列表中獲取數據 120
使用列表 120
使用多維列表存儲數據 125
在腳本中使用列表和元組 125
遍歷一個列表或數組 125
排序和倒序再訪問 126
使用列表解析創建列表 127
使用範圍 127
總結 128
Q&A 128
練習 129
問題 129
答案 129
第九小時 字典和集合 130
理解Python的字典 130
探索字典的基礎 131
創建一個字典 131
填充字典 131
更新一個字典 134
管理一個字典 135
對字典編程 135
理解Python集合 139
探索集合基礎 140
填充集合 140
從集合獲取信息 141
集合成員 141
並集 141
交集 142
差集 142
對稱差集 143
遍歷集合 143
修改一個集合 143
對集合編程 145
總結 147
Q&A 147
練習 148
問題 148
答案 148
第十小時 使用字元串 149
使用字元串的基礎知識 149
字元串格式 149
創建字元串 150
處理字元串 151
使用函式操作字元串 152
改變字元串值 152
分割字元串 153
連線字元串 153
測試字元串 154
檢索字元串 155
格式化字元串輸出 156
format()函式 157
格式化數字 158
總結 161
Q&A 161
練習 161
問題 161
答案 161
第十一小時 使用檔案 163
理解Linux檔案結構 163
看一下Linux目錄 164
通過Python管理檔案和目錄 165
打開檔案 166
指定打開模式 166
使用檔案對象方法 167
讀取檔案 168
讀取整個檔案 168
逐行讀取檔案 169
不按順序讀取檔案 170
關閉一個檔案 173
寫檔案 174
創建並且寫入一個新檔案 174
寫入到已存在的檔案 177
總結 178
Q&A 179
練習 179
問題 179
答案 179
第十二小時 創建函式 181
在程式中使用Python函式 181
創建函式 182
使用函式 182
返回值 184
給函式傳值 185
傳入參數 185
設定默認參數值 187
處理可變數量的參數 188
使用字典檢索值 189
在函式中處理變數 190
局部變數 190
全局變數 191
在函式中使用列表 192
遞歸函式 193
總結 194
Q&A 194
練習 195
問題 195
答案 195
第十三小時 使用模組 196
介紹模組概念 196
探索標準模組 198
學習Python模組 199
創建定製的模組 202
創建或收集函式來放到一起 203
確定模組的名稱 203
在測試目錄中創建這個自定義
模組 203
測試自定義模組 204
將模組移動到生產目錄 205
檢查路徑,如果需要則修改 207
測試生產級別自定義模組 207
總結 210
Q&A 210
練習 211
問題 211
答案 211
第十四小時 探索麵向對象編程的世界 212
理解面向對象編程基礎 212
什麼是OOP? 212
定義一個類 213
創建一個實例 213
默認屬性值 214
定義類方法 214
設值方法 215
訪問方法 215
添加輔助方法 217
使用類模組共享你的代碼 220
總結 222
Q&A 222
練習 223
問題 223
答案 223
第十五小時 使用繼承 224
了解類的問題 224
理解子類和繼承 225
在Python中使用繼承 226
創建子類 227
將子類添加到對象模組檔案中 228
添加其他子類 229
將子類方法放到它自己的對象
模組檔案中 230
在Python腳本中使用繼承 231
總結 241
Q&A 241
練習 241
問題 241
答案 242
第十六小時 正則表達式 243
什麼是正則表達式? 243
定義正則表達式 243
正則表達式的類型 244
在Python中使用正則表達式 244
正則表達式函式 244
編譯正則表達式 246
定義基本的模式 246
純文本 247
特殊字元 248
錨字元 248
點字元 250
字元分類 250
字元類取反 252
使用範圍 252
星號 253
使用高級正則表達式特性 253
問號 253
加號 254
使用大括弧 254
管道符號 254
分組表達式 255
在Python腳本中使用正則表達式 255
總結 257
Q&A 258
練習 258
問題 258
答案 258
第十七小時 異常處理 259
理解異常 259
語法錯誤異常 259
運行時錯誤異常 261
處理異常 263
處理多個異常 265
創建多個try except語句塊 267
處理通用的異常 269
理解try except語句的選項 270
總結 275
Q&A 275
練習 275
問題 275
答案 275
第十八小時 GUI編程 279
為GUI環境編程 279
視窗接口 280
事件驅動編程 280
檢查Python的GUI包 281
使用tkinter包 281
創建一個視窗