內容提要
一本有趣、有用、好學的Python 編程書!
《零基礎輕鬆學Python》以通俗易懂的語言、好玩有趣的案例讓讀者輕輕鬆鬆、循序漸進地從零開始掌握Python 3 編程。本書內容也是筆者帶領的“Python 實戰圈”里數千名“圈友”的學習結晶。圈子裡的小夥伴都是零基礎開始學習Python 編程,甚至之前沒有接觸過編程的,比如國中生、跨行業學習者等。
《零基礎輕鬆學Python》提供了一套完整、系統的Python 基礎課,比如列表、if、函式等內容,每一部分內容除了有生動有趣的項目實戰,還有實際工作中需要注意的問題。既能讓零基礎的讀者更好地學習,也能讓有一定基礎的讀者繼續提升自身水平。
《零基礎輕鬆學Python》適合零基礎學習Python 編程的讀者,想要入門人工智慧領域的讀者,立志進入數據分析編程領域的讀者,計畫成為Python 網頁工程師或遊戲工程師的讀者,Python 愛好者等。
目錄
第1 章 如何入門Python 編程· 1
1.1 程式語言的選擇· 1
1.2 如何開始學習· 1
1.3 學習Python 的捷徑· 2
1.4 Python 版本的選擇· 2
1.5 Python 相關就業方面的選擇· 2
1.5.1 Web 網頁工程師方向· 3
1.5.2 網路爬蟲工程師方向· 3
1.5.3 自動化運維方向· 3
1.5.4 數據分析師方向· 3
1.5.5 遊戲開發方向· 3
1.5.6 自動化測試方向· 4
1.5.7 AI 方向· 4
1.6 注意事項· 4
1.6.1 牢記搜尋· 4
1.6.2 學一點簡單的英語· 4
第2 章 Python“三劍客”,你會用哪個· 5
2.1 什麼是Python“三劍客”· 5
2.2 為Windows 系統安裝Python 軟體· 6
2.2.1 下載地址· 6
2.2.2 安裝· 6
2.2.3 開始使用· 9
2.3 為macOS 系統安裝Python 軟體· 10
2.4 PyCharm 簡介· 11
2.4.1 下載地址· 11
2.4.2 安裝· 12
2.4.3 開始使用· 13
2.5 Anaconda 簡介· 17
2.5.1 下載地址· 18
2.5.2 安裝· 19
2.5.3 如何使用Anaconda· 20
2.6 Jupyter Notebook 簡介· 23
2.6.1 Jupyter Notebook 是什麼· 23
2.6.2 安裝· 24
2.6.3 啟動· 24
2.6.4 創建檔案· 25
2.6.5 如何寫代碼· 26
第3 章 夯實Python 基礎,為進階做準備· 27
3.1 第一次寫代碼· 27
3.2 數據——程式的原材料· 28
3.3 學會寫注釋,方便你我他· 28
3.4 常量與變數· 29
3.4.1 變數命名規則· 30
3.4.2 變數命名方法· 30
3.5 數字類型· 31
3.5.1 整數· 31
3.5.2 浮點數· 32
3.6 布爾類型· 34
3.7 字元串類型· 35
3.7.1 什麼是字元串· 35
3.7.2 字元串的基本用法· 36
3.7.3 字元串的常見運算· 36
3.7.4 字元串的切片· 38
3.7.5 各種類型之間的轉換· 39
第4 章 Python 數據結構原來並不難· 41
4.1 什麼是數據結構· 41
4.2 列表· 41
4.2.1 什麼是列表· 41
4.2.2 列表的基本操作· 42
4.2.3 列表的高級用法· 49
4.3 元組· 52
4.3.1 創建元組· 52
4.3.2 修改元組· 54
4.3.3 元組拆包· 55
4.3.4 元組方法· 58
4.3.5 元組與列表的區別· 58
4.4 項目練習:用列表創建《延禧攻略》之魏瓔珞宴請名單· 59
4.4.1 描述項目· 59
4.4.2 解析項目· 60
4.4.3 實現功能· 60
4.5 字典· 65
4.5.1 什麼是字典· 65
4.5.2 字典特性· 65
4.5.3 字典的基本操作· 66
4.5.4 內置字典函式與方法· 70
4.6 結合字典與列表· 72
4.6.1 字典列表· 72
4.6.2 在字典中存儲列表· 72
4.6.3 在字典中存儲字典· 73
4.7 項目練習:用字典管理電視劇《扶搖》的演員信息· 73
4.7.1 描述項目· 73
4.7.2 解析項目· 74
4.7.3 實現功能· 75
第5 章 Python 控制結構,厲害了· 80
5.1 Python 運算符與表達式· 80
5.1.1 算術運算符· 80
5.1.2 比較(關係)運算符· 81
5.1.3 賦值運算符· 82
5.1.4 位運算符· 83
5.1.5 邏輯運算符· 84
5.1.6 成員運算符· 85
5.1.7 身份運算符· 86
5.1.8 淺拷貝與深拷貝· 89
5.1.9 運算符優先權· 91
5.2 Python 的三大控制結構· 93
5.3 順序結構· 93
5.4 分支結構· 94
5.5 循環結構· 97
5.6 for 循環· 98
5.6.1 for 循環與列表· 99
5.6.2 for 循環與字典· 102
5.6.3 嵌套for 循環· 103
5.6.4 項目練習:運用for 循環生成九九乘法表· 104
5.7 列表解析式· 105
5.7.1 概念· 105
5.7.2 指定if 條件的列表解析式· 106
5.7.3 無條件的列表解析式· 109
5.7.4 嵌套循環的列表解析式· 109
5.7.5 字典解析式· 111
5.8 while 循環· 114
5.8.1 用戶輸入· 115
5.8.2 break 與continue 語句· 115
5.8.3 使用while 循環操作列表和字典· 116
5.9 項目練習:運用Python 控制結構創建通訊錄· 118
5.9.1 描述項目· 118
5.9.2 解析項目· 118
5.9.3 實現4 個功能· 119
第6 章 Python 函式,給你不一樣的介紹· 122
6.1 什麼是函式· 122
6.1.1 為什麼要用函式· 123
6.1.2 如何定義函式· 124
6.1.3 如何調用函式· 125
6.2 如何傳遞參數 · 126
6.2.1 傳遞實參 · 127
6.2.2 傳遞數據結構 · 130
6.3 返回值 · 131
6.3.1 return 語句 · 131
6.3.2 返回多個值 · 133
6.4 函式是對象 · 136
6.4.1 第一類對象 · 136
6.4.2 函式賦值給變數 · 136
6.4.3 嵌套函式 · 138
6.4.4 函式作為參數· 140
6.4.5 將函式放在容器中· 143
6.4.6 函式作為返回值· 145
6.5 盒子的秘密· 148
6.5.1 LEGB 作用域 · 148
6.5.2 關鍵字global · 150
6.5.3 關鍵字nonlocal · 153
6.6 閉包 · 156
6.6.1 概念 · 156
6.6.2 __closure__屬性 · 159
6.6.3 為什麼使用閉包 · 160
6.7 三大“神器”之裝飾器 · 162
6.7.1 概念 · 162
6.7.2 裝飾帶有參數的函式 · 166
6.7.3 多個裝飾器 · 169
6.7.4 項目練習:使用裝飾器為函式添加計時功能 · 171
6.8 三大“神器”之疊代器 · 174
6.9 三大“神器”之生成器 · 177
6.9.1 生成器表達式 · 177
6.9.2 關鍵字yield · 179
6.10 匿名函式 · 182
6.10.1 概念 · 182
6.10.2 匿名函式的使用場景 · 183
6.10.3 柯里化· 185
6.11 將函式存儲在模組中 · 186
6.12 如何設計函式 · 188
6.13 項目練習:運用函式創建自動化管理檔案 · 188
6.13.1 項目描述 · 188
6.13.2 項目拆解 · 188
6.13.3 主程式 · 189
6.13.4 實現管理功能 · 190
第7 章 Python 面向對象,簡單易懂 · 194
7.1 程式設計方法 · 194
7.2 面向對象程式設計中的概念 · 195
7.3 如何定義類 · 195
7.3.1 創建類 · 195
7.3.2 創建對象 · 197
7.4 繼承 · 199
7.5 導入類 · 201
7.6 Python 庫 · 203
7.7 類編碼風格 · 203
7.8 項目練習:運用面向對象程式設計方法設計餐館系統 · 203
7.8.1 項目概述 · 203
7.8.2 項目解析 · 204
7.8.3 原始碼實現 · 204
第8 章 Python 項目實戰 · 208
8.1 項目實戰1:運用第三方庫設計微信聊天機器人 · 208
8.1.1 項目目的 · 208
8.1.2 Wxpy 庫介紹 · 208
8.1.3 指定聊天對象 · 211
8.1.4 聊天機器人 · 212
8.2 項目實戰2:開發簡化版《陰陽師》遊戲 · 213
8.2.1 項目描述 · 213
8.2.2 項目解析 · 213
8.2.3 歡迎界面 · 213
8.2.4 設計遊戲人物 · 215
8.2.5 介紹遊戲場景 · 219
8.2.6 開始遊戲 · 221
8.2.7 判斷是否進入下一輪 · 224
8.2.8 項目總結 · 224