注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Python代碼整潔之道:編寫優(yōu)雅的代碼

Python代碼整潔之道:編寫優(yōu)雅的代碼

Python代碼整潔之道:編寫優(yōu)雅的代碼

定 價(jià):¥79.00

作 者: Sunil Kapil 著,連少華譯 譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 華章程序員書庫(kù)
標(biāo) 簽: 暫缺

ISBN: 9787111665878 出版時(shí)間: 2020-09-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 208 字?jǐn)?shù):  

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

  探索使用Python編寫代碼的正確方法。本書提供了構(gòu)建無(wú)錯(cuò)誤和強(qiáng)壯的Python項(xiàng)目所需的技巧和技術(shù)。 為了講授如何編寫更好的代碼,本書首先介紹理解代碼格式化和代碼注釋的重要性,以及利用內(nèi)置數(shù)據(jù)結(jié)構(gòu)和Python字典提高可維護(hù)性,使用模塊和元類有效地組織代碼; 然后深入介紹Python語(yǔ)言的新特性,并教會(huì)讀者如何有效地使用它們;接下來(lái),將深入介紹一些關(guān)鍵概念,如異步編程、Python數(shù)據(jù)類型、類型提示和路徑處理等,并講述調(diào)試、單元測(cè)試和集成測(cè)試的技巧,以保證代碼可以投入生產(chǎn); 最后在附錄中介紹了一些有助于加快開發(fā)速度和提高代碼質(zhì)量的優(yōu)秀Python工具。 閱讀本書之后,你將會(huì)熟練地編寫整潔的Python代碼,并可以成功地將這些原則應(yīng)用到自己的Python項(xiàng)目中。 你將學(xué)到以下內(nèi)容: ●正確地使用表達(dá)式和語(yǔ)句 ●創(chuàng)建字典并評(píng)估字典的使用 ●使用Python中的高級(jí)數(shù)據(jù)結(jié)構(gòu) ●編寫更好的模塊、類、函數(shù)和元類 ●編寫異步代碼 ●發(fā)現(xiàn)Python的新特性

作者簡(jiǎn)介

  【作者簡(jiǎn)介】 Sunil Kapil在過(guò)去的10年中一直從事軟件開發(fā)工作,用Python和其他幾種語(yǔ)言編寫代碼,主要涉及Web和移動(dòng)端服務(wù)的軟件開發(fā)。他開發(fā)、部署并維護(hù)了被數(shù)百萬(wàn)用戶喜愛(ài)和使用的各種項(xiàng)目,這些項(xiàng)目是與來(lái)自不同專業(yè)環(huán)境的團(tuán)隊(duì)合作完成的,涉及世界著名的軟件公司。他也是開源的熱情倡導(dǎo)者,并持續(xù)貢獻(xiàn)Zulip Chat和Black等項(xiàng)目。他還與非營(yíng)利組織合作,并以志愿者的身份為其軟件項(xiàng)目做出貢獻(xiàn)。 【譯者介紹】 連少華 先后就職于中興通訊、深交所、金證股份等知名公司和機(jī)構(gòu),熱衷于軟件事業(yè),技術(shù)棧廣泛,涉及C++、C#、Java、Python、Golang等,對(duì)架構(gòu)設(shè)計(jì)和底層技術(shù)有深入的理解和實(shí)踐,曾經(jīng)給國(guó)外的一些開源庫(kù)提交過(guò)bug并貢獻(xiàn)過(guò)代碼。在CSDN論壇擔(dān)任過(guò)5年多的C++小版的版主和C/C++大版的版主。譯有《C++代碼整潔之道》,現(xiàn)致力于大數(shù)據(jù)平臺(tái)的設(shè)計(jì)與開發(fā)。

圖書目錄

●第1章 關(guān)于Python的思考1
1.1 編寫Python代碼1
1.1.1 命名2
1.1.2 代碼中的表達(dá)式和語(yǔ)句5
1.1.3 擁抱Python編寫代碼的方式8
1.2 使用文檔字符串14
1.2.1 模塊級(jí)文檔字符串17
1.2.2 使類文檔字符串具有描述性17
1.2.3 函數(shù)文檔字符串18
1.2.4 一些有用的文檔字符串工具19
1.3 編寫Python的控制結(jié)構(gòu)20
1.3.1 使用列表推導(dǎo)20
1.3.2 不要使用復(fù)雜的列表推導(dǎo)21
1.3.3 應(yīng)該使用lambda嗎23
1.3.4 何時(shí)使用生成器與何時(shí)使用列表推導(dǎo)23
1.3.5 為什么不要在循環(huán)中使用else24
1.3.6 為什么range函數(shù)在Python 3中更好27
1.4 引發(fā)異常28
1.4.1 習(xí)慣引發(fā)異常28
1.4.2 使用finally來(lái)處理異常30
1.4.3 創(chuàng)建自己的異常類31
1.4.4 只處理特定的異常32
1.4.5 小心第三方的異常34
1.4.6 try最少的代碼塊35
1.5 小結(jié)36

●第2章 數(shù)據(jù)結(jié)構(gòu)38
2.1 常用數(shù)據(jù)結(jié)構(gòu)38
2.1.1 使用集合38
2.1.2 返回和訪問(wèn)數(shù)據(jù)時(shí)使用namedtuple40
2.1.3 理解str、Unicode和byte43
2.1.4 謹(jǐn)慎使用列表,優(yōu)先使用生成器44
2.1.5 使用zip處理列表47
2.1.6 使用Python的內(nèi)置函數(shù)48
2.2 使用字典50
2.2.1 何時(shí)使用字典與何時(shí)使用其他數(shù)據(jù)結(jié)構(gòu)51
2.2.2 collections51
2.2.3 有序字典、默認(rèn)字典、普通字典54
2.2.4 使用字典的switch語(yǔ)句55
2.2.5 合并兩個(gè)字典的方法56
2.2.6 優(yōu)雅地打印字典57
2.3 小結(jié)58

●第3章 編寫更好的函數(shù)和類59
3.1 函數(shù)59
3.1.1 編寫小函數(shù)60
3.1.2 返回生成器61
3.1.3 引發(fā)異常替代返回None63
3.1.4 使用默認(rèn)參數(shù)和關(guān)鍵字參數(shù)64
3.1.5 不要顯式地返回None66
3.1.6 編寫函數(shù)時(shí)注意防御68
3.1.7 單獨(dú)使用lambda表達(dá)式70
3.2 類72
3.2.1 類的大小72
3.2.2 類結(jié)構(gòu)73
3.2.3 正確地使用@property75
3.2.4 什么時(shí)候使用靜態(tài)方法77
3.2.5 繼承抽象類79
3.2.6 使用@classmethod來(lái)訪問(wèn)類的狀態(tài)80
3.2.7 使用公有屬性代替私有屬性81
3.3 小結(jié)83

●第4章 使用模塊和元類84
4.1 模塊和元類84
4.2 如何使用模塊組織代碼86
4.3 使用__init__文件88
4.4 以正確的方式從模塊導(dǎo)入函數(shù)和類90
4.5 何時(shí)使用元類92
4.6 使用__new__方法驗(yàn)證子類93
4.7 __slots__的用途95
4.8 使用元類改變類的行為98
4.9 Python描述符100
4.10 小結(jié)102

●第5章 裝飾器和上下文管理器104
5.1 裝飾器105
5.1.1 裝飾器及其作用105
5.1.2 理解裝飾器106
5.1.3 使用裝飾器更改行為108
5.1.4 同時(shí)使用多個(gè)裝飾器110
5.1.5 使用帶參數(shù)的裝飾器111
5.1.6 考慮使用裝飾器庫(kù)112
5.1.7 用于維護(hù)狀態(tài)和驗(yàn)證參數(shù)的類裝飾器114
5.2 上下文管理器117
5.2.1 上下文管理器及用途117
5.2.2 理解上下文管理器119
5.2.3 使用contextlib創(chuàng)建上下文管理器120
5.2.4 上下文管理器的示例121
5.3 小結(jié)124

●第6章 生成器與迭代器125
6.1 使用生成器和迭代器125
6.1.1 理解迭代器125
6.1.2 什么是生成器128
6.1.3 何時(shí)使用迭代器129
6.1.4 使用itertools130
6.1.5 為什么生成器非常有用132
6.1.6 列表推導(dǎo)和迭代器133
6.2 使用yield關(guān)鍵字133
6.2.1 yield from135
6.2.2 yield相比數(shù)據(jù)結(jié)構(gòu)更快135
6.3 小結(jié)136

●第7章 使用Python的新特性137
7.1 異步編程137
7.1.1 Python中的async138
7.1.2 asyncio是如何工作的141
7.1.3 異步生成器151
7.2 類型標(biāo)注159
7.2.1 Python中的類型160
7.2.2 typing模塊160
7.2.3 類型檢查會(huì)影響性能嗎163
7.2.4 類型標(biāo)注如何幫助編寫更好的代碼163
7.2.5 typing的陷阱163
7.3 super()方法164
7.4 類型提示164
7.5 使用pathlib處理路徑164
7.6 print()現(xiàn)在是一個(gè)函數(shù)165
7.7 f-string165
7.8 關(guān)鍵字參數(shù)166
7.9 保持字典數(shù)據(jù)的順序166
7.10 迭代解包166
7.11 小結(jié)167

●第8章 調(diào)試和測(cè)試Python代碼168
8.1 調(diào)試168
8.1.1 調(diào)試工具169
8.1.2 breakpoint172
8.1.3 在產(chǎn)品代碼中使用logging模塊替代print172
8.1.4 使用metrics庫(kù)來(lái)分析性能瓶頸177
8.1.5 IPython有什么幫助178
8.2 測(cè)試179
8.2.1 測(cè)試非常重要179
8.2.2 Pytest和UnitTest180
8.2.3 屬性測(cè)試184
8.2.4 生成測(cè)試報(bào)告184
8.2.5 自動(dòng)化單元測(cè)試185
8.2.6 讓代碼為生產(chǎn)做好準(zhǔn)備186
8.2.7 在Python中執(zhí)行單元和集成測(cè)試186
8.3 小結(jié)189
附錄 一些很棒的Python工具190


本目錄推薦

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