注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Python應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)

Python應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)

Python應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)

定 價(jià):¥79.00

作 者: 尼納德·薩斯葉(Ninad Sathaye) 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買這本書(shū)可以去


ISBN: 9787115477576 出版時(shí)間: 2018-06-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  Python是使用較多的動(dòng)態(tài)編程語(yǔ)言之一,應(yīng)用廣泛,學(xué)習(xí)者眾多。本書(shū)使用一個(gè)生動(dòng)有趣的、基于文本的游戲主題作為講解內(nèi)容來(lái)介紹Python應(yīng)用開(kāi)發(fā)過(guò)程的各個(gè)方面。全書(shū)共10章,涉及簡(jiǎn)單應(yīng)用開(kāi)發(fā)、模塊化、打包和發(fā)布應(yīng)用的代碼、文檔規(guī)范、單元測(cè)試、重構(gòu)、設(shè)計(jì)模式、性能監(jiān)測(cè)、性能優(yōu)化、GUI應(yīng)用、MVC框架等方方面面的軟件開(kāi)發(fā)知識(shí)和技能。本書(shū)適合有一定Python語(yǔ)言基礎(chǔ),想要快速掌握Python項(xiàng)目開(kāi)發(fā)知識(shí)、提高Python開(kāi)發(fā)實(shí)戰(zhàn)技能的讀者學(xué)習(xí)參考。

作者簡(jiǎn)介

  在Ninad Sathaye的職業(yè)生涯中,他有多年使用包括Python和C++在內(nèi)的多種語(yǔ)言設(shè)計(jì)和開(kāi)發(fā)性能關(guān)鍵應(yīng)用的經(jīng)驗(yàn)。他曾是半導(dǎo)體行業(yè)中的一個(gè)軟件架構(gòu)師,最近又轉(zhuǎn)入物聯(lián)網(wǎng)領(lǐng)域。他擁有機(jī)械工程碩士學(xué)位。

圖書(shū)目錄

第1章開(kāi)發(fā)簡(jiǎn)單應(yīng)用 1
1.1 重要提示 2
1.2 安裝的先決條件 2
1.2.1 安裝Python 3
1.3 本書(shū)的主題 8
1.3.1 了解本書(shū)人物 8
1.4 簡(jiǎn)單的腳本—獸人之襲
v0.0.1 9
1.4.1 游戲簡(jiǎn)介—獸人之襲
v0.0.1 10
1.4.2 問(wèn)題說(shuō)明 10
1.4.3 偽代碼—0.0.1版本 10
1.4.4 代碼查看 11
1.4.5 運(yùn)行獸人之襲v0.0.1 14
1.5 使用函數(shù)—獸人之襲
v0.0.5 14
1.5.1 重新回顧以前的版本 15
1.5.2 有攻擊功能的偽代碼—版本0.0.5 17
1.5.3 代碼查看 19
1.5.4 運(yùn)行獸人之襲v0.0.5 21
1.6 使用面向?qū)ο缶幊獭F人之襲v1.0.0 22
1.6.1 功能需求的優(yōu)先度 23
1.6.2 問(wèn)題說(shuō)明 24
1.6.3 重新設(shè)計(jì)代碼 24
1.6.4 描繪整個(gè)場(chǎng)景 25
1.6.5 代碼查看 27
1.6.6 運(yùn)行獸人之襲v1.0.0 31
1.7 Python中的抽象基類 32
1.7.1 練習(xí) 33
1.8 小結(jié) 34
1.8.1 對(duì)電子書(shū)讀者非常重要的提示 34
第2章異常處理 36
2.1 修改獸人之襲v1.0.0 36
2.1.1 問(wèn)題調(diào)試 37
2.1.2 bug修復(fù)中…… 38
2.2 異?!?9
2.2.1 什么是異常 39
2.2.2 最常見(jiàn)的異?!?9
2.2.3 異常處理 40
2.2.4 異常的拋出和再拋出 42
2.2.5 try...except的else代碼塊 43
2.2.6 finally...清理吧 44
2.3 回歸游戲—獸人之襲
v1.1.0 45
2.3.1 準(zhǔn)備工作 45
2.3.2 增加異常處理代碼 46
2.3.3 運(yùn)行獸人之襲v1.1.0 47
2.4 自定義異?!?8
2.4.1 準(zhǔn)備工作 48
2.4.2 自定義異?!?問(wèn)題所在 49
2.4.3 編寫(xiě)一個(gè)新的異常類 50
2.4.4 擴(kuò)展異常類 51
2.4.5 繼承exception類 53
2.5 練習(xí) 55
2.6 小結(jié) 56
第3章 模塊化、包和部署 57
3.1 選擇一種版本控制規(guī)約 58
3.1.1 連續(xù)遞增 58
3.1.2 使用日期格式 59
3.1.3 語(yǔ)義版本控制方案 59
3.2 代碼模塊化 60
3.2.1 獸人之襲v2.0.0 60
3.3 創(chuàng)建Python包 62
3.3.1 從包中錄入 63
3.4 在PyPI上發(fā)布包 64
3.4.1 發(fā)行版本準(zhǔn)備 65
3.4.2 上傳發(fā)行版 69
3.4.3 一條命令完成所有的 事情 73
3.4.4 安裝你自己的發(fā)行版 73
3.5 使用私有的PyPI倉(cāng)庫(kù) 75
3.5.1 步驟1—安裝 pypiserver 75
3.5.2 步驟2—?jiǎng)?chuàng)建一個(gè)新的 源代碼發(fā)行版 75
3.5.3 步驟3—啟動(dòng)本地 服務(wù)器 76
3.5.4 步驟4—安裝私有 發(fā)行版 76
3.6 創(chuàng)建增量發(fā)布 77
3.6.1 打包并上傳新版本 77
3.6.2 升級(jí)已經(jīng)安裝的版本 77
3.7 代碼的版本控制 78
3.7.1 Git資源 78
3.7.2 安裝Git 78
3.7.3 配置你的驗(yàn)證信息 79
3.7.4 Git基礎(chǔ)術(shù)語(yǔ) 79
3.7.5 創(chuàng)建并使用本地倉(cāng)庫(kù) 80
3.8 使用Git的GUI客戶端 83
3.9 練習(xí) 84
3.10 小結(jié) 85
第4章 代碼文檔和最佳實(shí)踐 86
4.1 編寫(xiě)代碼文檔 87
4.1.1 文檔字符串 88
4.1.2 reStructuredText簡(jiǎn)介 89
4.1.3 使用RST的文檔 字符串 92
4.1.4 文檔字符串格式化風(fēng)格 94
4.1.5 自動(dòng)生成文檔字符串 stubs 95
4.1.6 使用Sphinx生成文檔 97
4.2 Python編碼標(biāo)準(zhǔn) 103
4.3 代碼分析—我們做得 怎么樣呢 105
4.3.1 使用IDE進(jìn)行代碼 分析 105
4.3.2 Pylint 106
4.4 練習(xí) 110
4.5 小結(jié) 110
第5章 單元測(cè)試和重構(gòu) 111
5.1 本章的組織方式 111
5.1.1 重要說(shuō)明 112
5.2 為何要進(jìn)行測(cè)試 112
5.2.1 提出了一個(gè)新的需求 112
5.2.2 你實(shí)現(xiàn)了這個(gè)功能 113
5.2.3 但是有些事情似乎 不對(duì)了…… 114
5.2.4 它需要完全測(cè)試 115
5.3 單元測(cè)試 115
5.3.1 Python的unittest 框架 116
5.4 為應(yīng)用程序編寫(xiě)單元測(cè)試 121
5.4.1 創(chuàng)建測(cè)試包 121
5.4.2 為單元測(cè)試創(chuàng)建新 的類 122
5.4.3 第1個(gè)單元測(cè)試— 受傷方的選擇 123
5.4.4 運(yùn)行第1個(gè)單元測(cè)試 124
5.4.5 第2個(gè)單元測(cè)試— 占領(lǐng)木屋 124
5.4.6 創(chuàng)建自己的測(cè)試模塊 127
5.4.7 批量執(zhí)行單元測(cè)試 127
5.5 使用模擬庫(kù)的單元測(cè)試 128
5.5.1 Mock的簡(jiǎn)介 128
5.5.2 讓我們開(kāi)始Mock吧 129
5.5.3 在單元測(cè)試中使用Mock 對(duì)象 131
5.5.4 使用補(bǔ)丁 133
5.5.5 第3個(gè)單元測(cè)試— play方法 135
5.6 你的代碼被覆蓋到了嗎 139
5.6.1 解決導(dǎo)入錯(cuò)誤 140
5.7 其他單元測(cè)試工具 141
5.7.1 Doctest 141
5.7.2 Nose 141
5.7.3 Pytest 142
5.8 重構(gòu)的前言 142
5.8.1 繞個(gè)彎路—可測(cè)試性重構(gòu) 144
5.9 重構(gòu) 144
5.9.1 什么是重構(gòu) 145
5.9.2 為什么要進(jìn)行重構(gòu) 145
5.9.3 何時(shí)進(jìn)行重構(gòu) 145
5.9.4 如何進(jìn)行重構(gòu) 146
5.9.5 移動(dòng) 148
5.10 重新審視單元測(cè)試 150
5.10.1 可測(cè)試化重構(gòu) 150
5.10.2 第4個(gè)單元測(cè)試— setup_game_scenario 152
5.11 練習(xí) 152
5.11.1 重構(gòu)和重新設(shè)計(jì)練習(xí) 153
5.12 小結(jié) 153
第6章 設(shè)計(jì)模式 154
6.1 設(shè)計(jì)模式的介紹 154
6.1.1 設(shè)計(jì)模式的分類 155
6.2 Python語(yǔ)言和設(shè)計(jì)模式 156
6.2.1 一級(jí)函數(shù) 157
6.2.2 類作為一級(jí)對(duì)象 157
6.2.3 閉包 158
6.2.4 各種特性 159
6.2.5 鴨子類型 160
6.3 本章余下內(nèi)容的結(jié)構(gòu) 161
6.4 快進(jìn)—獸人之襲
v6.0.0 162
6.5 策略模式 164
6.5.1 策略場(chǎng)景—跳躍 特性 164
6.5.2 策略—主要的問(wèn)題 165
6.5.3 策略—嘗試解決 方案 166
6.5.4 策略—重新考慮 設(shè)計(jì) 168
6.5.5 策略方案1— 傳統(tǒng)方法 169
6.5.6 策略方案2— Python方法 172
6.6 簡(jiǎn)單工廠 174
6.6.1 簡(jiǎn)單工廠場(chǎng)景— 招募特性 174
6.6.2 簡(jiǎn)單工廠— 主要的問(wèn)題 175
6.6.3 簡(jiǎn)單工廠—重新 考慮設(shè)計(jì) 176
6.6.4 簡(jiǎn)單工廠方案1— 傳統(tǒng)方法 177
6.6.5 簡(jiǎn)單工廠方案2— Python方法 178
6.7 抽象工廠模式 180
6.7.1 抽象工廠場(chǎng)景— 飾品店 181
6.7.2 抽象工廠—主要的 問(wèn)題 184
6.7.3 抽象工廠—重新考慮 設(shè)計(jì) 184
6.7.4 抽象工廠方案— Python方法 186
6.8 適配器模式 188
6.8.1 適配器模型—精靈的 遠(yuǎn)房親戚 189
6.8.2 適配器—主要的 問(wèn)題 189
6.8.3 適配器—嘗試解決 方案 190
6.8.4 適配器解決方案— Python方法 191
6.9 小結(jié) 194
第7章 性能—識(shí)別瓶頸 195
7.1 三個(gè)性能章節(jié)的總覽 195
7.1.1 更注重運(yùn)行時(shí)的性能 195
7.1.2 關(guān)于性能的第1個(gè) 章節(jié) 196
7.1.3 關(guān)于性能的第2個(gè) 章節(jié) 196
7.1.4 關(guān)于性能的第3個(gè) 章節(jié) 196
7.1.5 看一下應(yīng)用性能提升 196
7.2 游戲場(chǎng)景—尋找黃金 197
7.2.1 頂層算法 199
7.2.2 查看最初的代碼 200
7.2.3 運(yùn)行代碼 202
7.3 主要的問(wèn)題 203
7.4 識(shí)別瓶頸 204
7.4.1 衡量執(zhí)行時(shí)間 204
7.4.2 監(jiān)測(cè)代碼片段的運(yùn)行 時(shí)間 205
7.4.3 代碼分析 206
7.5 內(nèi)存分析 212
7.5.1 memory_profiler包 212
7.6 算法效率和復(fù)雜度 214
7.6.1 算法效率 214
7.6.2 算法復(fù)雜度 214
7.7 大O符號(hào) 214
7.7.1 大O復(fù)雜類 215
7.8 小結(jié) 221
第8章 性能優(yōu)化1 222
8.1 本章的前提 223
8.2 本章的組織方式 223
8.3 回顧“尋找黃金”的場(chǎng)景 224
8.3.1 選擇問(wèn)題的數(shù)據(jù)大小 224
8.3.2 分析最初的代碼 224
8.4 優(yōu)化“尋找黃金”—
第1部分 225
8.4.1 調(diào)整算法—平方根 225
8.4.2 跳過(guò)點(diǎn)操作符 228
8.4.3 使用本地范圍 230
8.5 性能優(yōu)化的一些事項(xiàng) 232
8.5.1 列表推導(dǎo)式 233
8.5.2 記錄執(zhí)行時(shí)間 234
8.5.3 字典推導(dǎo)式 235
8.5.4 交換條件塊和for 循環(huán) 235
8.5.5 在循環(huán)中使用try語(yǔ)句 236
8.5.6 選擇正確的數(shù)據(jù)結(jié)構(gòu) 237
8.5.7 collections模塊 238
8.5.8 生成器和生成器 表達(dá)式 241
8.5.9 itertools模塊 245
8.6 練習(xí) 247
8.7 小結(jié) 247
第9章 性能優(yōu)化2—NumPy和 并行化 248
9.1 本章的先決條件 248
9.2 本章的組織方式 248
9.3 NumPy的簡(jiǎn)介 249
9.3.1 安裝NumPy 250
9.3.2 創(chuàng)建數(shù)組對(duì)象 250
9.3.3 簡(jiǎn)單的數(shù)組操作 251
9.3.4 數(shù)組切割和索引 252
9.3.5 廣播 254
9.3.6 其他功能 255
9.3.7 從哪里能獲得更多關(guān)于 NumPy的信息 262
9.4 優(yōu)化“尋找黃金”—
第2部分 262
9.4.1 “尋找黃金”優(yōu)化— 優(yōu)化四 262
9.4.2 “尋找黃金”優(yōu)化— 優(yōu)化五 264
9.5 使用multiprocessing模塊的 并行化 267
9.5.1 并行化簡(jiǎn)介 267
9.5.2 全局解釋器鎖 268
9.5.3 multiprocessing模塊 268
9.6 “尋找黃金”程序并行化 271
9.6.1 重訪黃金領(lǐng)地 271
9.6.2 “尋找黃金”優(yōu)化— 優(yōu)化六,并行化 273
9.7 進(jìn)一步閱讀 277
9.7.1 JIT編譯器 277
9.8 小結(jié) 278
第10章簡(jiǎn)單的圖形應(yīng)用程序 280
10.1 GUI框架概述 281
10.1.1 Tkinter 281
10.1.2 PyQt 281
10.1.3 PySide 282
10.1.4 Kivy 282
10.1.5 wxPython 282
10.2 GUI編程設(shè)計(jì)注意事項(xiàng) 283
10.2.1 了解用戶的需求 283
10.2.2 開(kāi)發(fā)用戶故事 283
10.2.3 簡(jiǎn)單性和可訪問(wèn)性 283
10.2.4 一致性 284
10.2.5 可預(yù)測(cè)性和熟悉性 284
10.2.6 其他設(shè)計(jì)考慮 284
10.3 事件驅(qū)動(dòng)編程 284
10.3.1 事件 285
10.3.2 事件處理 285
10.3.3 事件循環(huán) 285
10.4 使用Tkinter進(jìn)行GUI 編程 286
10.4.1 Tkinter的文件鏈接 286
10.4.2 Tkinter中的 mainloop() 286
10.4.3 簡(jiǎn)單GUI應(yīng)用程序—
第1步 287
10.4.4 簡(jiǎn)單GUI應(yīng)用程序—
第2步 289
10.4.5 Tkinter中的GUI
控件 290
10.4.6 布局管理 292
10.4.7 Tkinter中的事件 294
10.4.8 Tkinter中的事件 處理 296
10.5 項(xiàng)目1—獸人之襲
 v10.0.0 298
10.5.1 游戲場(chǎng)景 298
10.5.2 問(wèn)題聲明 298
10.5.3 編寫(xiě)代碼 299
10.5.4 運(yùn)行應(yīng)用程序 305
10.6 MVC架構(gòu) 306
10.6.1 模型 307
10.6.2 視圖 307
10.6.3 控制器 307
10.6.4 MVC的好處 308
10.7 項(xiàng)目2—獸人之襲
 v10.1.0 308
10.7.1 重新修改HutGame類 308
10.7.2 創(chuàng)建MVC類 309
10.7.3 MVC對(duì)象間的通信 310
10.7.4 查看代碼 314
10.7.5 Model類 315
10.7.6 View類 316
10.7.7 運(yùn)行應(yīng)用程序 317
10.8 測(cè)試GUI應(yīng)用程序 317
10.8.1 測(cè)試注意事項(xiàng) 318
10.9 練習(xí) 319
10.10 擴(kuò)展閱讀 320
10.11 小結(jié) 322

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)