商品簡介
一本有趣、有用、好學的Python 編程書!
《零基礎輕鬆學Python》以通俗易懂的語言、好玩有趣的案例讓讀者輕輕鬆松、循序漸進地從零開始掌握Python 3 編程。本書內容也是筆者帶領的“Python 實戰圈”裡數千名“圈友”的學習結晶。圈子裡的小夥伴都是零基礎開始學習Python 編程,甚至之前沒有接觸過編程的,比如初中生、跨行業學習者等。
《零基礎輕鬆學Python》提供了一套完整、系統的Python 基礎課,比如列表、if、函數等內容,每一部分內容除了有生動有趣的項目實戰,還有實際工作中需要注意的問題。既能讓零基礎的讀者更好地學習,也能讓有一定基礎的讀者繼續提升自身水平。
《零基礎輕鬆學Python》適合零基礎學習Python 編程的讀者,想要入門人工智能領域的讀者,立志進入數據分析編程領域的讀者,計劃成為Python 網頁工程師或遊戲工程師的讀者,Python 愛好者等。
作者簡介
馬文豪,世界 500 強高級軟件開發工程師、信息系統項目管理師,“七天小碼哥”公眾號作者。有超過 7 年大型軟件項目開發管理經驗,擅長 Python、Java 編程,熟悉算法建模和數據化運營,精通 Oracle 數據庫問題診斷、性能調整 Sql 優化等。擁有計算機技術與軟件專業技術資格(高級)證書,擁有核心期刊學術論文 1 篇,發明專利 1 篇。
目次
目錄
第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