Python編程零基礎入門

《Python編程零基礎入門》是2023年人民郵電出版社出版的圖書。

基本介紹

  • 中文名:Python編程零基礎入門
  • 作者:[美] 安娜·貝爾(Ana Bell) 
  • 譯者:徐波
  • 語言:中文
  • 出版時間:2023年1月1日
  • 出版社:人民郵電出版社
  • 頁數:408 頁
  • 字數:543000
  • ISBN:9787115519771
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

本書是一本真正地從零開始講解Python編程的圖書,它旨在讓零基礎讀者較快地掌握編程知識,並能使用程式來滿足自己的需要。
本書共有9個部分,除第1部分外,其餘部分都以一個階段性項目結尾。第1部分(第1~2章)介紹了學習編程的意義;第2部分(第3~6章)介紹編程的基本知識;第3部分(第7~12章)講解了字元串、元組以及與用戶互動的代碼;第4部分(第13~15章)介紹如何編寫程式來進行選擇;第5部分(第16~19章)主要涉及循環的相關知識;第6部分(第20~23章)引入了函式和模組化的相關概念;第7部分(第24~29章)介紹了一些高級對象類型,如可變對象、列表、字典等;第8部分(第30~34章)為面向對象編程的相關知識;第9部分(第35~38章)介紹了一些可供讀者使用的現成代表庫。

圖書目錄

第 1部分 學習編程
第 1章 為什麼要學習編程 3
1.1 為什麼編程很重要 3
1.1.1 編程並不僅限於專業人員 3
1.1.2 改善自己的生活 4
1.1.3 挑戰自我 4
1.2 起點與終點 5
1.3 我們的編程學習計畫 7
1.3.1 開始步驟 7
1.3.2 實踐!實踐!實踐 7
1.3.3 像程式設計師一樣思考 8
1.4 總結 9
第 2章 學習程式語言的基本原則 10
2.1 編程是一項技能 10
2.2 以烘焙為比喻 11
2.2.1 理解“烘焙一塊麵包”這個任務 11
2.2.2 尋找菜譜 12
2.2.3 用流程圖展示菜譜的可視化表現形式 13
2.2.4 使用現有的菜譜或自己創建一份菜譜 14
2.3 思考、編碼、測試、調試、重複 14
2.3.1 理解任務 16
2.3.2 任務的黑盒表現形式 16
2.3.3 編寫偽碼 18
2.4 編寫容易閱讀的代碼 18
2.4.1 使用描述性和有意義的名稱 19
2.4.2 對代碼進行注釋 19
2.5 總結 20
第 2部分 變數、類型、表達式和語句
第3章 介紹Python程式語言 23
3.1 安裝Python 23
3.1.1 什麼是Python 24
3.1.2 下載Python 3.5版本 24
3.1.3 Anaconda Python發布包 24
3.1.4 集成開發環境 24
3.2 設定工作空間 26
3.2.1 IPython控制台 27
3.2.2 檔案編輯器 29
3.3 總結 31
第4章 變數和表達式:為對象賦予名稱和值 32
4.1 為對象提供名稱 33
4.1.1 數學與編程 33
4.1.2 計算機可以做什麼?不可以做什麼 34
4.2 變數 35
4.2.1 對象就是可以進行操作的物品 35
4.2.2 對象具有名稱 35
4.2.3 允許什麼樣的對象名稱 36
4.2.4 創建變數 37
4.2.5 更新變數 38
4.3 總結 40
4.4 章末檢測 40
第5章 對象的類型和代碼的語句 41
5.1 對象的類型 42
5.2 編程中對象的基本類型 42
5.2.1 整數 42
5.2.2 表示小數的浮點數 43
5.2.3 表示真 假的布爾值 44
5.2.4 表示字元序列的字元串 44
5.2.5 空值 44
5.3 使用基本類型的數據值 45
5.3.1 表達式的構件 45
5.3.2 不同類型之間的轉換 46
5.3.3 數學運算對對象類型的影響 46
5.4 總結 48
第6章 階段性項目:第 一個Python程式—時分轉換 49
6.1 思考、編碼、測試、調試、重複 50
6.2 分解任務 50
6.2.1 設定輸入 51
6.2.2 設定輸出 51
6.3 實現轉換公式 51
6.3.1 多少小時 51
6.3.2 多少分鐘 52
6.4 第 一個Python程式:解決方案一 52
6.5 第 一個Python程式:解決方案二 54
6.6 總結 55
6.7 章末檢測 55
第3部分 字元串、元組以及與用戶的互動
第7章 介紹字元串對象:字元序列 59
7.1 字元串就是字元序列 60
7.2 字元串的基本操作 60
7.2.1 創建字元串對象 60
7.2.2 理解字元串的索引 61
7.2.3 理解字元串的截取 62
7.3 字元串對象的其他操作 63
7.3.1 使用len()獲取字元串的字元數量 63
7.3.2 用upper()和lower()進行字母大小寫的轉換 64
7.4 總結 65
7.5 章末檢測 65
第8章 字元串的高級操作 66
8.1 與子字元串有關的操作 67
8.1.1 使用find()在字元串中查找一個特定的子字元串 67
8.1.2 用“in”判斷字元串中是否包含某個子字元串 68
8.1.3 用count()獲取一個子字元串的出現次數 69
8.1.4 用replace()替換子字元串 69
8.2 數學操作 70
8.3 總結 71
8.4 章末檢測 71
第9章 簡單的錯誤訊息 72
9.1 輸入語句並嘗試執行 72
9.2 理解字元串錯誤訊息 73
9.3 總結 74
9.4 章末檢測 74
第 10章 元組對象:任意類型的對象序列 75
10.1 元組就是數據序列 76
10.2 理解對元組的操作 77
10.2.1 用len()獲取元組的長度 77
10.2.2 用[]獲取元組索引以及截取元組的部分內容 77
10.2.3 執行數學操作 79
10.2.4 在元組內部交換對象 79
10.3 總結 80
10.4 章末檢測 80
第 11章 與用戶的互動 81
11.1 顯示輸出 82
11.1.1 列印表達式 82
11.1.2 列印多個對象 83
11.2 獲取用戶的輸入 83
11.2.1 提示用戶進行輸入 84
11.2.2 讀取輸入 84
11.2.3 把輸入存儲在變數中 85
11.2.4 把用戶的輸入轉換為不同類型 85
11.2.5 要求更多的輸入 86
11.3 總結 87
11.4 章末檢測 87
第 12章 階段性項目:姓名的混搭 88
12.1 理解問題陳述 89
12.1.1 畫出程式的基本結構 89
12.1.2 設計例子 90
12.1.3 把問題抽象化為偽碼 90
12.2 分割名字和姓氏 91
12.2.1 尋找名字和姓氏之間的空格 91
12.2.2 使用變數保存經過處理的值 91
12.2.3 對到目前為止完成的工作進行測試 92
12.3 存儲所有名字的一半 93
12.4 對名字的一半進行組合 94
12.5 總結 95
第4部分 在程式中做出選擇
第 13章 在程式中引入選擇機制 99
13.1 根據條件做出選擇 100
13.1.1 是否問題和真假語句 100
13.1.2 在語句中添加條件 101
13.2 編寫代碼做出選擇 101
13.2.1 一個例子 102
13.2.2 做出選擇的代碼:基本方式 103
13.3 程式的結構變化 103
13.3.1 做出多個選擇 104
13.3.2 根據另一個選擇結果做出選擇 104
13.3.3 一個更加複雜的嵌套的條件的例子 106
13.4 總結 108
13.5 章末檢測 108
第 14章 做出更複雜的選擇 109
14.1 組合多個條件 110
14.1.1 由真 假表達式組成的條件 111
14.1.2 操作符的優先權規則 112
14.2 選擇需要執行的代碼行 114
14.2.1 執行某個操作 114
14.2.2 綜合討論 117
14.2.3 對代碼塊進行的思考 119
14.3 總結 120
14.4 章末檢測 121
第 15章 階段性項目:冒險遊戲 122
15.1 制定遊戲規則 122
15.2 創建不同的路徑 123
15.3 更多的選項?可以,儘管嘗試 124
15.4 總結 126
第5部分 重複執行任務
第 16章 用循環重複任務 129
16.1 重複一個任務 130
16.1.1 在程式中引入非線性結構 130
16.1.2 無限循環 131
16.2 循環一定的次數 132
16.3 循環N次 134
16.3.1 常見的0到N–1的循環 135
16.3.2 展開循環 135
16.4 總結 136
16.5 章末檢測 136
第 17章 自定義的循環 137
17.1 自定義的循環 138
17.2 對字元串進行循環 139
17.3 總結 141
17.4 章末檢測 141
第 18章 在條件滿足時一直重複任務 143
18.1 在條件為真時保持循環 144
18.1.1 通過循環進行猜數 144
18.1.2 while循環 145
18.1.3 無限循環 146
18.2 for循環和while循環的比較 147
18.3 對循環進行控制 149
18.3.1 提前退出循環 149
18.3.2 回到循環的開始位置 150
18.4 總結 152
18.5 章末檢測 152
第 19章 階段性項目:拼字遊戲(藝術版) 153
19.1 理解問題陳述 154
19.1.1 更改所有合法單詞的表示形式 154
19.1.2 用給定的字母卡組建一個合法的單詞 156
19.2 把代碼劃分為代碼段 159
19.3 總結 161
第6部分 將代碼組織為可復用的代碼塊
第 20章 創建持久性的程式 165
20.1 把一個較大的任務分解為更小的任務 166
20.1.1 線上訂購一件商品 166
20.1.2 理解主要概念 168
20.2 在編程中引入黑盒代碼 169
20.2.1 使用代碼模組 169
20.2.2 代碼的抽象化 169
20.2.3 復用代碼 170
20.3 子任務存在於它們自己的環境中 172
20.4 總結 173
20.5 章末檢測 174
第 21章 用函式實現模組化和抽象 175
21.1 編寫函式 176
21.1.1 函式基礎知識:函式的輸入 177
21.1.2 函式基礎知識:函式執行的操作 178
21.1.3 函式基礎知識:函式的返回信息 178
21.2 使用函式 179
21.2.1 返回多個值 180
21.2.2 沒有return語句的函式 182
21.3 編寫函式說明書 184
21.4 總結 184
21.5 章末檢測 185
第 22章 函式的高級操作 186
22.1 從兩個角度思考函式 187
22.1.1 函式編寫者的角度 187
22.1.2 函式使用者的角度 187
22.2 函式的作用域 188
22.2.1 簡單的作用域例子 188
22.2.2 作用域規則 188
22.3 嵌套函式 192
22.4 把函式作為參數傳遞 193
22.5 返回一個函式 194
22.6 總結 195
22.7 章末檢測 195
第 23章 階段性項目:對朋友進行分析 197
23.1 讀取檔案 198
23.1.1 檔案格式 198
23.1.2 換行符 198
23.1.3 刪除換行符 199
23.1.4 使用元組存儲信息 200
23.1.5 返回什麼 200
23.2 對用戶的輸入進行淨化 201
23.3 測試和調試到目前為止所編寫的代碼 202
23.3.1 檔案對象 202
23.3.2 編寫一個包含姓名和電話號碼的文本檔案 202
23.3.3 打開檔案以進行讀取 203
23.4 重複使用函式 203
23.5 分析信息 204
23.5.1 規範 204
23.5.2 幫助函式 205
23.6 總結 208
第7部分 使用可變數據類型
第 24章 可變對象和不可變對象 211
24.1 不可變對象 212
24.2 對可變性的需求 214
24.3 總結 216
24.4 章末檢測 216
第 25章 對列表進行操作 217
25.1 列表與元組的比較 218
25.2 創建列表和獲取特定位置的元素 219
25.3 對元素進行計數以及獲取元素的位置 220
25.4 在列表中添加元素:append、insert和extend 221
25.4.1 使用append 221
25.4.2 使用insert 222
25.4.3 使用extend 222
25.5 從列表中移除元素:pop 223
25.6 更改元素的值 224
25.7 總結 225
25.8 章末檢測 226
第 26章 列表的高級操作 227
26.1 排序和反轉列表 228
26.2 列表的列表 229
26.3 把字元串轉換為列表 230
26.4 列表的套用 231
26.4.1 堆疊 231
26.4.2 佇列 232
26.5 總結 233
26.6 章末檢測 233
第 27章 字典作為對象之間的映射 234
27.1 創建字典、鍵和值 236
27.2 在字典中添加鍵值對 237
27.3 從字典中刪除鍵值對 238
27.4 獲取字典中所有的鍵和值 239
27.5 為什麼應該使用字典 241
27.5.1 使用頻率字典進行計數 241
27.5.2 創建非常規的字典 242
27.6 總結 243
27.7 章末檢測 243
第 28章 別名以及複製列表和字典 245
28.1 使用對象的別名 246
28.1.1 不可變對象的別名 246
28.1.2 可變對象的別名 247
28.1.3 可變對象作為函式的參數 249
28.2 創建可變對象的副本 250
28.2.1 複製可變對象的命令 250
28.2.2 獲取有序列表的副本 251
28.2.3 對可變對象進行疊代時需要小心 252
28.2.4 為什麼要存在別名 253
28.3 總結 254
28.4 章末檢測 254
第 29章 階段性項目:文檔的相似度 255
29.1 把問題分解為不同的子任務 256
29.2 讀取檔案信息 256
29.3 保存檔案中的所有單詞 257
29.4 把單詞映射到它們的頻率 259
29.5 使用相似度比較兩個文檔 260
29.6 最終的整合 261
29.7 一個可能的擴展 262
29.8 總結 263
第8部分 使用面向對象編程創建自己的對象類型
第30章 創建自己的對象類型 267
30.1 為什麼需要新類型 268
30.2 什麼組成了一個對象 269
30.2.1 對象的屬性 269
30.2.2 對象的行為 270
30.3 使用點號記法 270
30.4 總結 271
第31章 為對象類型創建類 272
31.1 用類實現新的對象類型 273
31.2 數據屬性作為對象的屬性 273
31.2.1 用_ _init_ _初始化對象 274
31.2.2 在_ _init_ _內部創建對象屬性 274
31.3 方法作為對象的操作和行為 275
31.4 使用定義的對象類型 276
31.5 在_ _init_ _中創建帶參數的類 277
31.6 作用於類名而不是對象的點號記法 278
31.7 總結 279
31.8 章末檢測 279
第32章 使用自己的對象類型 280
32.1 定義堆疊對象 281
32.1.1 選擇數據屬性 281
32.1.2 實現Stack類的方法 282
32.2 使用Stack對象 283
32.2.1 創建一個煎餅堆疊 283
32.2.2 創建一個圓堆疊 284
32.3 總結 287
32.4 章末檢測 287
第33章 對類進行自定義 288
33.1 覆寫一個特殊的方法 289
33.2 在自己的類中覆寫print()方法 291
33.3 背後發生的事情 292
33.4 可以對類做什麼 293
33.5 總結 294
33.6 章末檢測 294
第34章 階段性項目:牌類遊戲 295
34.1 使用已經存在的類 296
34.2 詳細分析遊戲規則 296
34.3 定義Player類 297
34.4 定義CardDeck類 298
34.5 模擬牌類遊戲 299
34.5.1 設定對象 299
34.5.2 模擬遊戲中的回合 300
34.6 用類實現模組化和抽象 301
34.7 總結 302
第9部分 使用程式庫完善自己的程式
第35章 實用的程式庫 305
35.1 導入程式庫 306
35.2 用math庫進行數學運算 308
35.3 用random庫操作隨機數 309
35.3.1 隨機化的列表 309
35.3.2 模擬機率遊戲 310
35.3.3 使用種子重複結果 311
35.4 用time庫對程式進行計時 312
35.4.1 使用時鐘 312
35.4.2 使程式暫停運行 312
35.5 總結 313
35.6 章末檢測 313
第36章 測試和調試程式 314
36.1 使用unittest程式庫 315
36.2 將程式與測試分離 316
36.3 調試代碼 319
36.4 總結 321
36.5 章末檢測 322
第37章 圖形用戶接口程式庫 323
37.1 一個圖形用戶接口庫 323
37.2 使用tkinter庫設定程式 324
37.3 添加部件 325
37.4 添加事件處理函式 327
37.5 總結 329
37.6 章末檢測 330
第38章 階段性項目:追逐遊戲 331
38.1 確認問題的組成部分 332
38.2 在視窗中創建兩個形狀 332
38.3 在畫布中移動形狀 335
38.4 檢測形狀之間的碰撞 337
38.5 可能的擴展 338
38.6 總結 339
附錄A 各章習題的答案 340
附錄B Python語法摘要 381
附錄C 有趣的Python程式庫 384

相關詞條

熱門詞條

聯絡我們