零基礎學Python

零基礎學Python

《零基礎學 Python》 是針對零基礎編程學習者研發的 Python 入門教程。從初學者角度出發,通過通俗易懂的語言、流行有趣的實例,詳細地介紹了使用 IDLE 及 Python 框架進行程式管理的知識和技術。全書共分 17 章,包括初識 Python、Python 語言基礎、流程控制語句、序列的套用、Pygame 遊戲編程、網路爬蟲開發、智慧星答題測試系統等。書中所有知識都結合具體實例進行講解,涉及的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會 Python 程式開發的精髓,快速提高資料庫管理技能。

圖書亮點

1、124個經典實例+1箇中型項目+1個大型項目

2、零基礎入門經典,實例貼近生活

3、全彩印刷,還原真實開發環境

4、贈送數字電子書,隨時隨地想學就學

5、贈送程式源碼

6、作者團隊線上答疑

前言

Python是由荷蘭人Guido van Rossum 發明的一種面向對象的解釋型高級程式語言,可以把用其他語言製作的各種模組(如C 語言、C++)很輕鬆地聯結在一起,所以Python 又被稱為“膠水”語言。 Python 語法簡潔、清晰,代碼可讀性強,編程模式符合人類的思維方式和習慣,很多學校都開設了這門課程,甚至有些國小也開設了Python 課程。您還在等什麼呢?快快加入Python 開發者的陣營吧!

內容簡介

本書通過大量實例及一個完整項目案例,幫助讀者更好地鞏固所學知識,提升能力;在百度雲盤中給出了本書的視頻講解、實例及項目源碼、實戰源碼,方便讀者學習;書中設定了200 多個二維碼,掃描二維碼觀看視頻講解,解決學習疑難;不易理解的專業術語、代碼難點,只需用手機App 掃描文字下方的 e 學碼便可獲得更多擴展解釋,隨時掃除學習障礙。此外,登錄明日學院網站還可以獲得更多學習資源和技術支持。圖書與二維碼+ e 學碼 + 明日學院,實現立體化、全方位的教學模式,降低編程門檻,讓零基礎者輕鬆跨入編程領域。

目錄

入 門 篇

第1章 初識Python 1

視頻講解:30分鐘

精彩實例:2個

e學碼:12個

1.1 Python概述 2

1.1.1 了解Python 2

1.1.2 Python的版本 2

1.1.3 Python的套用領域 5

1.2 搭建Python開發環境 8

1.2.1 Python開發環境概述 8

1.2.2 安裝Python 8

1.2.3 第一個Python程式 12

實例01 在命令行視窗中輸出“人生
苦短,我用Python” 12

實例02 在IDLE中輸出“人生苦短,
我用Python” 13

1.3 Python開發工具 15

1.3.1 使用自帶的IDLE 15

1.3.2 常用的第三方開發工具 17

1.4 難點解答 19

1.4.1 為什麼提示“'python'不是內部
或外部命令……” 19

1.4.2 如何在Python互動模式中運行
.py檔案 21

1.5 實戰 21

實戰一:輸出“人因夢想而偉大” 21

實戰二:輸出台階 22

實戰三:輸出個性微信簽名 22

實例四:列印田字格 22

1.6 小結 22

第2章 Python語言基礎 23

視頻講解:1小時28分鐘

精彩實例:7個

e學碼:14個

2.1 Python語法特點 24

2.1.1 注釋 24

2.1.2 代碼縮進 27

2.1.3 編碼規範 29

2.2 保留字與標識符 31

2.2.1 保留字 31

2.2.2 標識符 32

2.3 變數 33

2.3.1 理解Python中的變數 33

2.3.2 變數的定義與使用 34

2.4 基本數據類型 35

2.4.1 數字類型 35

實例01 根據身高、體重計算BMI指數 37

2.4.2 字元串類型 38

實例02 輸出007號坦克 39

2.4.3 布爾類型 40

2.4.4 數據類型轉換 40

實例03 模擬超市抹零結賬行為 41

2.5 運算符 42

2.5.1 算術運算符 42

實例04 計算學生成績的分差及
平均分 43

2.5.2 賦值運算符 44

2.5.3 比較(關係)運算符 44

實例05 使用比較運算符比較大小
關係 45

2.5.4 邏輯運算符 46

實例06 參加手機店的打折活動 46

2.5.5 位運算符 47

2.5.6 運算符的優先權 49

2.6 基本輸入和輸出 50

2.6.1 使用input()函式輸入 51

實例07 根據身高、體重計算BMI
指數(改進版) 51

2.6.2 使用print()函式輸出 52

2.7 實戰 53

實戰一:模擬手機充值場景 53

實戰二:繪製《植物大戰殭屍》中的
石頭怪 53

實戰三:根據父母的身高預測兒子的身高 54

實戰四:根據總步數計算消耗的熱量值 54

2.8 小結 54

第3章 流程控制語句 55

視頻講解:54分鐘

精彩實例:9個

e學碼:4個

3.1 程式結構 56

3.2 選擇語句 57

3.2.1 最簡單的if語句 57

實例01 判斷輸入的是不是黃蓉
所說的數 58

3.2.2 if…else語句 59

實例02 驗證瑛姑給出的答案是否
正確 60

3.2.3 if…elif…else語句 62

實例03 輸出玫瑰花語 63

3.2.4 if語句的嵌套 64

實例04 判斷是否為酒後駕車 65

3.3 條件表達式 66

3.4 循環語句 66

3.4.1 while循環 67

實例05 助力瑛姑 ①:while循環版
解題法 67

3.4.2 for循環 68

實例06 助力瑛姑 ②:while循環版
解題法 69

3.4.3 循環嵌套 71

實例07 列印九九乘法表 72

3.5 跳轉語句 72

3.5.1 break語句 73

實例08 助力瑛姑 ③:for循環改進版
解題法 74

3.5.2 continue語句 74

實例09 逢七拍腿遊戲 75

3.6 pass空語句 76

3.7 實戰 76

實戰一:模擬支付寶螞蟻森林的能量
產生過程 76

實戰二:猜數字遊戲 77

實戰三:模擬“跳一跳”小遊戲的加分塊 77

實戰四:模擬10086查詢功能 78

3.8 小結 78

第4章 序列的套用 79

視頻講解:1小時57分鐘

精彩實例:14個

e學碼:16個

4.1 序列 80

4.1.1 索引(Indexing) 80

4.1.2 切片(Sliceing) 81

4.1.3 序列相加(Adding) 81

4.1.4 乘法(Multiplying) 82

4.1.5 檢查某個元素是否是序列的成員 83

4.1.6 計算序列的長度、最大值和
最小值 83

4.2 列表(list) 84

4.2.1 列表的創建和刪除 85

4.2.2 訪問列表元素 86

實例01 輸出每日一帖 87

4.2.3 遍歷列表 88

實例02 分兩列顯示2017~2018賽季
NBA西部聯盟前八名的球隊 89

4.2.4 添加、修改和刪除列表元素 90

實例03 向NBA名人堂列表中追加
2018年新進入的球星 91

4.2.5 對列表進行統計和計算 93

4.2.6 對列表進行排序 94

4.2.7 列表推導式 96

4.2.8 二維列表的使用 98

實例04 使用二維列表輸出不同版式
的古詩 100

4.3 元組(tuple) 101

4.3.1 元組的創建和刪除 101

實例05 使用元組保存咖啡館裡提供
的咖啡名稱 103

4.3.2 訪問元組元素 104

實例06 使用for循環列出咖啡館裡
的咖啡名稱 105

實例07 分兩列顯示2017~2018賽季
NBA西部聯盟前八名球隊 105

4.3.3 修改元組元素 106

實例08 將麝香貓咖啡替換為拿鐵
咖啡 106

4.3.4 元組推導式 107

4.3.5 元組與列表的區別 109

4.4 字典(dictionary) 109

4.4.1 字典的創建和刪除 110

實例09 創建一個保存女神星座的
字典 111

4.4.2 通過鍵值對訪問字典 113

實例10 根據星座測試性格特點 115

4.4.3 遍歷字典 115

4.4.4 添加、修改和刪除字典元素 116

4.4.5 字典推導式 118

實例11 套用字典推導式實現根據
名字和星座創建一個字典 118

4.5 集合(set) 119

4.5.1 集合的創建 119

實例12 創建保存學生選課信息的
集合 120

4.5.2 集合的添加和刪除 121

實例13 學生更改選學課程 122

4.5.3 集合的交集、並集和差集運算 123

實例14 對選課集合進行交集、並集
和差集運算 123

4.6 列表、元組、字典和集合的區別 124

4.7 實戰 124

實戰一:輸出“王者榮耀”的遊戲角色 124

實戰二:模擬火車訂票系統 125

實戰三:電視劇的收視率排行榜 125

實戰四:定製自己的手機套餐 126

4.8 小結 126

第5章 字元串及正則表達式 127

視頻講解:50分鐘

精彩實例:10個

e學碼:5個

5.1 字元串常用操作 128

5.1.1 拼接字元串 128

實例01 使用字元串拼接輸出一個
關於程式設計師的笑話 129

5.1.2 計算字元串的長度 129

5.1.3 截取字元串 130

實例02 截取身份證號碼中的出生日期 131

5.1.4 分割、合併字元串 132

實例03 輸出被@的好友名稱 133

實例04 通過好友列表生成全部被
@的好友 134

5.1.5 檢索字元串 134

5.1.6 字母的大小寫轉換 137

實例05 不區分大小寫驗證會員名
是否唯一 138

5.1.7 去除字元串中的空格和特殊字元 139

5.1.8 格式化字元串 141

實例06 格式化不同的數值類型數據 144

5.2 字元串編碼轉換 144

5.2.1 使用encode()方法編碼 145

5.2.2 使用decode()方法解碼 145

5.3 正則表達式 146

5.3.1 行定位符 146

5.3.2 元字元 147

5.3.3 限定符 147

5.3.4 字元類 148

5.3.5 排除字元 148

5.3.6 選擇字元 148

5.3.7 轉義字元 149

5.3.8 分組 149

5.3.9 在Python中使用正則表達式語法 149

5.4 使用re模組實現正則表達式操作 150

5.4.1 匹配字元串 150

實例07 驗證輸入的手機號碼是否為
中國移動的號碼 152

實例08 驗證是否出現危險字元 153

5.4.2 替換字元串 155

實例09 替換出現的危險字元 156

5.4.3 使用正則表達式分割字元串 156

實例10 輸出被@的好友名稱(套用
正則表達式) 157

5.5 實戰 157

實戰一:列印象棋口訣 157

實戰二:判斷車牌歸屬地 158

實戰三:模擬微信搶紅包 158

實戰四:顯示實時天氣預報 158

5.6 小結 158

進 階 篇

第6章 函式 159

視頻講解:57分鐘

精彩實例:6個

e學碼:2個

6.1 函式的創建和調用 160

6.1.1 創建一個函式 160

6.1.2 調用函式 161

實例01 輸出每日一帖(共享版) 162

6.2 參數傳遞 163

6.2.1 了解形式參數和實際參數 163

實例02 根據身高、體重計算BMI
指數(共享版) 164

6.2.2 位置參數 165

6.2.3 關鍵字參數 167

6.2.4 為參數設定默認值 167

6.2.5 可變參數 169

實例03 根據身高、體重計算BMI
指數(共享升級版) 170

6.3 返回值 172

實例04 模擬結賬功能—計算實付
金額 173

6.4 變數的作用域 174

6.4.1 局部變數 174

6.4.2 全局變數 175

實例05 一棵松樹的夢 175

6.5 匿名函式(lambda) 177

實例06 套用lambda實現對爬取到的
秒殺商品信息進行排序 178

6.6 實戰 179

實戰一:導演為劇本選主角 179

實戰二:模擬美團外賣商家的套餐 179

實戰三:根據生日判斷星座 179

實戰四:將美元轉換為人民幣 180

6.7 小結 180

第7章 面向對象程式設計 181

視頻講解:1小時

精彩實例:5個

e學碼:3個

7.1 面向對象概述 182

7.1.1 對象 182

7.1.2 類 183

7.1.3 面向對象程式設計的特點 183

7.2 類的定義和使用 184

7.2.1 定義類 185

7.2.2 創建類的實例 185

7.2.3 創建__init__()方法 186

7.2.4 創建類的成員並訪問 187

實例01 創建大雁類並定義飛行
方法 188

實例02 通過類屬性統計類的實例
個數 189

7.2.5 訪問限制 192

7.3 屬性(property) 193

7.3.1 創建用於計算的屬性 193

7.3.2 為屬性添加安全保護機制 194

實例03 在模擬電影點播功能時
套用屬性 195

7.4 繼承 196

7.4.1 繼承的基本語法 197

實例04 創建水果基類及其派生類 197

7.4.2 方法重寫 198

7.4.3 派生類中調用基類的
__init__()方法 199

實例05 在派生類中調用基類的
__init__()方法定義類屬性 200

7.5 實戰 201

實戰一:修改手機默認語言 201

實戰二:給信用卡設定默認密碼 201

實戰三:列印每月銷售明細 202

實戰四:模擬電影院的自動售票機
選票頁面 202

7.6 小結 202

第8章 模組 203

視頻講解:46分鐘

精彩實例:4個

e學碼:5個

8.1 模組概述 204

8.2 自定義模組 205

8.2.1 創建模組 205

實例01 創建計算BMI指數的模組 205

8.2.2 使用import語句導入模組 206

8.2.3 使用from…import語句導入
模組 207

實例02 導入兩個包括同名函式的
模組 207

8.2.4 模組搜尋目錄 209

8.3 以主程式的形式執行 211

8.4 Python中的包 213

8.4.1 Python程式的包結構 213

8.4.2 創建和使用包 214

實例03 在指定包中創建通用的設定
和獲取尺寸的模組 216

8.5 引用其他模組 217

8.5.1 導入和使用標準模組 217

實例04 生成由數字、字母組成的
4位驗證碼 217

8.5.2 第三方模組的下載與安裝 219

8.6 實戰 220

實戰一:大樂透號碼生成器 220

實戰二:春節集五福 221

實戰三:封裝用戶的上網行為 221

實戰四:計算個人所得稅 222

8.7 小結 222

第9章 異常處理及程式調試 223

視頻講解:33分鐘

精彩實例:4個

e學碼:3個

9.1 異常概述 224

實例01 模擬幼稚園分蘋果 224

9.2 異常處理語句 225

9.2.1 try…except語句 226

實例02 模擬幼稚園分蘋果(除數
不能為0) 226

9.2.2 try…except…else語句 229

9.2.3 try…except…f inally語句 230

9.2.4 使用raise語句拋出異常 231

實例03 模擬幼稚園分蘋果(每個人
至少分到一個蘋果) 231

9.3 程式調試 232

9.3.1 使用自帶的IDLE進行程式調試 233

9.3.2 使用assert語句調試程式 234

實例04 模擬幼稚園分蘋果(套用
斷言調試) 235

9.4 小結 236

第10章 檔案及目錄操作 237

視頻講解:1小時05分鐘

精彩實例:6個

e學碼:3個

10.1 基本檔案操作 238

10.1.1 創建和打開檔案 238

實例01 創建並打開記錄螞蟻莊園
動態的檔案 239

10.1.2 關閉檔案 241

10.1.3 打開檔案時使用with語句 241

10.1.4 寫入檔案內容 242

實例02 向螞蟻莊園的動態檔案寫入
一條信息 242

10.1.5 讀取檔案 244

實例03 顯示螞蟻莊園的動態 245

實例04 逐行顯示螞蟻莊園的動態 246

10.2 目錄操作 248

10.2.1 os和os.path模組 248

10.2.2 路徑 250

10.2.3 判斷目錄是否存在 252

10.2.4 創建目錄 253

10.2.5 刪除目錄 255

10.2.6 遍歷目錄 256

實例05 遍歷指定目錄 257

10.3 高級檔案操作 257

10.3.1 刪除檔案 258

10.3.2 重命名檔案和目錄 259

10.3.3 獲取檔案基本信息 260

實例06 獲取檔案基本信息 261

10.4 實戰 262

實戰一:根據當前時間創建檔案 262

實戰二:批量添加資料夾 263

10.5 小結 264

第11章 使用Python運算元據庫 265

視頻講解:50分鐘

精彩實例:8個

e學碼:5個

11.1 資料庫編程接口 266

11.1.1 連線對象 266

11.1.2 游標對象 267

11.2 使用SQLite 268

11.2.1 創建資料庫檔案 268

實例01 創建SQLite資料庫檔案 268

11.2.2 操作SQLite 269

實例02 新增用戶數據信息 270

實例03 使用3種方式查詢用戶數據
信息 271

實例04 修改用戶數據信息 272

實例05 刪除用戶數據信息 273

11.3 使用MySQL 273

11.3.1 下載安裝MySQL 273

11.3.2 安裝PyMySQL 278

11.3.3 連線資料庫 278

實例06 使用PyMySQL連線資料庫 278

11.3.4 創建數據表 279

實例07 創建books圖書表 279

11.3.5 操作MySQL數據表 280

實例08 向books圖書表添加圖書
數據 280

11.4 實戰 282

實戰一:獲取指定數據表中的信息 282

實戰二:查找指定年份之後的圖書
信息 282

實戰三:批量刪除指定的圖書信息 282

11.5 小結 282

高 級 篇

第12章 GUI界面編程 283

視頻講解:50分鐘

精彩實例:5個

e學碼:6個

12.1 初識GUI 284

12.1.1 什麼是GUI 284

12.1.2 常用的GUI框架 284

12.1.3 安裝 wxPython 285

12.2 創建應用程式 285

12.2.1 創建一個wx.App的子類 286

12.2.2 直接使用wx.App 287

12.2.3 使用wx.Frame框架 287

12.3 常用控制項 288

12.3.1 StaticText文本類 289

實例01 使用wx.StaticText輸出
Python之禪 289

12.3.2 TextCtrl輸入文本類 291

實例02 使用wx.TextCtrl實現登錄
界面 292

12.3.3 Button按鈕類 292

實例03 為登錄界面添加“確認”
和“取消”按鈕 293

12.4 BoxSizer布局 294

12.4.1 什麼是BoxSizer 294

12.4.2 使用BoxSizer布局 294

實例04 使用BoxSizer設定登錄
界面布局 296

12.5 事件處理 297

12.5.1 什麼是事件 297

12.5.2 綁定事件 298

實例05 使用事件判斷用戶登錄 298

12.6 小結 300

第13章 Pygame遊戲編程 301

視頻講解:1小時

精彩實例:1個

e學碼:4個

13.1 初識Pygame 302

13.1.1 安裝Pygame 302

13.1.2 Pygame常用模組 303

13.2 Pygame的基本套用 304

實例01 製作一個跳躍的小球遊戲 304

13.3 開發Flappy Bird遊戲 310

13.3.1 遊戲簡介 310

13.3.2 遊戲分析 310

13.3.3 搭建主框架 310

13.3.4 創建小鳥類 312

13.3.5 創建管道類 314

13.3.6 計算得分 316

13.3.7 碰撞檢測 318

13.4 小結 320

第14章 網路爬蟲開發 321

視頻講解:1小時30分鐘

e學碼:20個

14.1 網路爬蟲概述 322

14.2 網路爬蟲的常用技術 322

14.2.1 Python的網路請求 322

14.2.2 請求headers處理 325

14.2.3 網路逾時 327

14.2.4 代理服務 328

14.2.5 HTML解析之Beautiful Soup 328

14.3 網路爬蟲開發常用框架 331

14.3.1 Scrapy爬蟲框架 331

14.3.2 Crawley爬蟲框架 331

14.3.3 PySpider爬蟲框架 332

14.4 實戰項目:快手爬票 332

14.4.1 快手爬票概述 332

14.4.2 搭建QT環境 333

14.4.3 主窗體設計 335

14.4.4 分析網頁請求參數 343

14.4.5 下載站名檔案 345

14.4.6 車票信息的請求與顯示 347

14.5 小結 354

第15章 Web編程 355

視頻講解:30分鐘

精彩實例:2個

e學碼:15個

15.1 Web基礎 356

15.1.1 HTTP協定 356

15.1.2 Web伺服器 356

15.1.3 前端基礎 358

15.1.4 靜態伺服器 361

實例01 創建“明日學院”網站靜態
伺服器 361

15.2 WSGI接口 365

15.2.1 CGI簡介 365

15.2.2 WSGI簡介 366

15.2.3 定義WSGI接口 367

15.2.4 運行WSGI服務 367

實例02 創建“明日學院”網站課程
頁面 367

15.3 小結 370

第16章 常用Web框架 371

視頻講解:1小時

精彩實例:4個

e學碼:8個

16.1 Web框架簡介 372

16.1.1 什麼是Web框架 372

16.1.2 Python常用的Web框架 372

16.2 Flask框架的使用 373

16.2.1 安裝虛擬環境 373

16.2.2 安裝Flask 374

16.2.3 第一個Flask程式 375

實例01 輸出“Hello World!” 376

16.2.4 開啟調試模式 377

16.2.5 路由 377

實例02 根據參數輸出相應信息 377

實例03 使用url_for()函式獲取
URL信息 378

16.2.6 靜態檔案 380

16.2.7 模板 380

實例04 渲染模板 380

16.3 Django框架的使用 384

16.3.1 安裝Django Web框架 384

16.3.2 創建一個Django項目 386

16.3.3 創建APP 388

16.3.4 數據模型(models) 389

16.3.5 管理後台 394

16.3.6 路由(urls) 395

16.3.7 表單(forms) 397

16.3.8 視圖(views) 398

16.3.9 Django模板 400

16.4 小結 402

實 戰 篇

第17章 智慧星答題測試系統
(Django框架+Bootstrap +MySQL+Redis實現) 403

視頻講解:1小時20分鐘

e學碼:6個

17.1 系統功能設計 404

17.1.1 了解項目整體開發流程 404

17.1.2 系統功能結構 404

17.1.3 系統業務流程 404

17.1.4 系統預覽 406

17.2 系統開發必備 407

17.2.1 系統開發環境 407

17.2.2 資料夾組織結構 407

17.3 資料庫設計 408

17.3.1 資料庫概要說明 408

17.3.2 數據表模型 410

17.4 用戶登錄模組設計 412

17.4.1 用戶登錄模組概述 412

17.4.2 使用Django默認授權機制
實現普通登錄 412

17.4.3 基於Oauth2.0的微信登錄的實現 420

17.4.4 機構註冊功能的實現 422

17.5 核心答題功能的設計 428

17.5.1 答題首頁設計 428

17.5.2 比賽詳情頁面 431

17.5.3 答題功能的實現 435

17.5.4 提交答案 439

17.5.5 批量錄入題庫 442

17.6 小結 448

相關詞條

相關搜尋

熱門詞條

聯絡我們