本書由奮戰在Python開發一綫近20年的Luciano Ramalho執筆,Victor Stinner、Alex Martelli等Python大咖擔綱技術審稿人,從語言設計層麵剖析編程細節,兼顧Python 3和Python 2,告訴你Python中不親自動手實踐就無法理解的語言陷阱成因和解決之道,教你寫齣風格地道的Python代碼。
● Python數據模型:理解為什麼特殊方法是對象行為一緻的關鍵。
● 數據結構:充分利用內置類型,理解Unicode文本和字節二象性。
● 把函數視作對象:把Python函數視作一等對象,並瞭解這一點對流行的設計模式的影響。
● 麵嚮對象習慣用法:通過構建類學習引用、可變性、接口、運算符重載和多重繼承。
● 控製流程:學習使用上下文管理器、生成器、協程,以及通過concurrent.futures和asyncio包實現的並發。
● 元編程:理解特性、描述符、類裝飾器和元類的工作原理。
本書緻力於幫助Python開發人員挖掘這門語言及相關程序庫的優秀特性,避免重復勞動,同時寫齣簡潔、流暢、易讀、易維護,並且具有地道Python風格的代碼。本書尤其深入探討瞭Python語言的高級用法,涵蓋數據結構、Python風格的對象、並行與並發,以及元編程等不同的方麵。
Luciano Ramalho,從1998年起就成為瞭Python程序員。他是Python軟件基金會的成員,Python.pro.br(巴西的一傢培訓公司)的共同所有者,還是巴西眾創空間Garoa Hacker Clube的聯閤創始人。他領導過多個軟件開發團隊,還在巴西的媒體、銀行和政府部門教授Python課程。
安道,專注於現代計算機技術的自由翻譯,譯有《Flask Web 開發》《Python 網絡編程攻略》《Ruby on Rails 教程》等書。
吳珂,現為Airbnb公司軟件工程師,所在團隊主要負責開發和維護各類可伸縮、高性能服務,並在Airbnb內推廣麵嚮服務的係統架構。在分布式係統、雲存儲服務和跨平颱SDK開發,以及大規模數據處理等方麵有多年經驗。
前言 xvii
第一部分 序幕
第1章 Python 數據模型 2
1.1 一摞 Python 風格的紙牌 3
1.2 如何使用特殊方法 6
1.2.1 模擬數值類型 7
1.2.2 字符串錶示形式 9
1.2.3 算術運算符 10
1.2.4 自定義的布爾值 10
1.3 特殊方法一覽 10
1.4 為什麼 len 不是普通方法 12
1.5 本章小結 12
1.6 延伸閱讀 13
第二部分 數據結構
第2章 序列構成的數組 16
2.1 內置序列類型概覽 17
2.2 列錶推導和生成器錶達式 18
2.3 元組不僅僅是不可變的列錶 22
2.4 切片 28
2.5 對序列使用 + 和 * 31
2.6 序列的增量賦值 33
2.7 list.sort 方法和內置函數 sorted 36
2.8 用 bisect 來管理已排序的序列 37
2.9 當列錶不是首選時 41
2.10 本章小結 49
2.11 延伸閱讀 50
第3章 字典和集閤 54
3.1 泛映射類型 54
3.2 字典推導 56
3.3 常見的映射方法 57
3.4 映射的彈性鍵查詢 61
3.5 字典的變種 65
3.6 子類化 UserDict 65
3.7 不可變映射類型 67
3.8 集閤論 68
3.9 dict 和 set 的背後 73
3.10 本章小結 80
3.11 延伸閱讀 81
第4章 文本和字節序列 83
4.1 字符問題 84
4.2 字節概要 85
4.3 基本的編解碼器 88
4.4 瞭解編解碼問題 89
4.5 處理文本文件 94
4.6 為瞭正確比較而規範化 Unicode 字符串 99
4.7 Unicode 文本排序 105
4.8 Unicode 數據庫 108
4.9 支持字符串和字節序列的雙模式 API 109
4.10 本章小結 112
4.11 延伸閱讀 113
第三部分 把函數視作對象
第5章 一等函數 118
5.1 把函數視作對象 119
5.2 高階函數 120
5.3 匿名函數 122
5.4 可調用對象 122
5.5 用戶定義的可調用類型 123
5.6 函數內省 124
5.7 從定位參數到僅限關鍵字參數 126
5.8 獲取關於參數的信息 127
5.9 函數注解 131
5.10 支持函數式編程的包 132
5.11 本章小結 137
5.12 延伸閱讀 137
第6章 使用一等函數實現設計模式 141
6.1 案例分析:重構“策略”模式 142
6.2 “命令”模式 150
6.3 本章小結 151
6.4 延伸閱讀 152
第7章 函數裝飾器和閉包 154
7.1 裝飾器基礎知識 155
7.2 Python 何時執行裝飾器 156
7.3 使用裝飾器改進“策略”模式 157
7.4 變量作用域規則 159
7.5 閉包 161
7.6 nonlocal 聲明 164
7.7 實現一個簡單的裝飾器 165
7.8 標準庫中的裝飾器 168
7.9 疊放裝飾器 172
7.10 參數化裝飾器 173
7.11 本章小結 177
7.12 延伸閱讀 178
第四部分 麵嚮對象慣用法
第8章 對象引用、可變性和垃圾迴收 182
8.1 變量不是盒子 183
8.2 標識、相等性和彆名 184
8.3 默認做淺復製 187
8.4 函數的參數作為引用時 190
8.5 del 和垃圾迴收 195
8.6 弱引用 196
8.7 Python 對不可變類型施加的把戲 199
8.8 本章小結 201
8.9 延伸閱讀 201
第9章 符閤 Python 風格的對象 205
9.1 對象錶示形式 206
9.2 再談嚮量類 206
9.3 備選構造方法 208
9.4 classmethod 與 staticmethod 209
9.5 格式化顯示 210
9.6 可散列的 Vector2d 213
9.7 Python 的私有屬性和“受保護的”屬性 218
9.8 使用 __slots__ 類屬性節省空間 220
9.9 覆蓋類屬性 222
9.10 本章小結 224
9.11 延伸閱讀 225
第10章 序列的修改、散列和切片 229
10.1 Vector 類:用戶定義的序列類型 230
10.2 Vector 類第1 版:與 Vector2d 類兼容 230
10.3 協議和鴨子類型 232
10.4 Vector 類第2 版:可切片的序列 233
10.5 Vector 類第3 版:動態存取屬性 237
10.6 Vector 類第4 版:散列和快速等值測試 240
10.7 Vector 類第5 版:格式化 244
10.8 本章小結 251
10.9 延伸閱讀 251
第11章 接口:從協議到抽象基類 256
11.1 Python 文化中的接口和協議 257
11.2 Python 喜歡序列 258
11.3 使用猴子補丁在運行時實現協議 260
11.4 Alex Martelli 的水禽 262
11.5 定義抽象基類的子類 266
11.6 標準庫中的抽象基類 267
11.7 定義並使用一個抽象基類 270
11.8 Tombola 子類的測試方法 278
11.9 Python 使用 register 的方式 281
11.10 鵝的行為有可能像鴨子 281
11.11 本章小結 283
11.12 延伸閱讀 284
第12章 繼承的優缺點 289
12.1 子類化內置類型很麻煩 289
12.2 多重繼承和方法解析順序 292
12.3 多重繼承的真實應用 296
12.4 處理多重繼承 298
12.5 一個現代示例:Django 通用視圖中的混入 301
12.6 本章小結 304
12.7 延伸閱讀 304
第13章 正確重載運算符 307
13.1 運算符重載基礎 308
13.2 一元運算符 308
13.3 重載嚮量加法運算符 + 310
13.4 重載標量乘法運算符 * 315
13.5 眾多比較運算符 318
13.6 增量賦值運算符 321
13.7 本章小結 325
13.8 延伸閱讀 326
第五部分 控製流程
第14章 可迭代的對象、迭代器和生成器 330
14.1 Sentence 類第1 版:單詞序列 331
14.2 可迭代的對象與迭代器的對比 334
14.3 Sentence 類第2 版:典型的迭代器 337
14.4 Sentence 類第3 版:生成器函數 339
14.5 Sentence 類第4 版:惰性實現 343
14.6 Sentence 類第5 版:生成器錶達式 344
14.7 何時使用生成器錶達式 345
14.8 另一個示例:等差數列生成器 346
14.9 標準庫中的生成器函數 349
14.10 Python 3.3 中新齣現的句法: yield from 357
14.11 可迭代的歸約函數 358
14.12 深入分析 iter 函數 359
14.13 案例分析:在數據庫轉換工具中使用生成器 360
14.14 把生成器當成協程 362
14.15 本章小結 362
14.16 延伸閱讀 363
第15章 上下文管理器和 else 塊 368
15.1 先做這個,再做那個: if 語句之外的 else 塊 369
15.2 上下文管理器和 with 塊 370
15.3 contextlib 模塊中的實用工具 374
15.4 使用 @contextmanager 375
15.5 本章小結 378
15.6 延伸閱讀 378
第16章 協程 381
16.1 生成器如何進化成協程 382
16.2 用作協程的生成器的基本行為 382
16.3 示例:使用協程計算移動平均值 385
16.4 預激協程的裝飾器 386
16.5 終止協程和異常處理 388
16.6 讓協程返迴值 391
16.7 使用 yield from 393
16.8 yield from 的意義 398
16.9 使用案例:使用協程做離散事件仿真 403
16.10 本章小結 410
16.11 延伸閱讀 411
第17章 使用期物處理並發 416
17.1 示例:網絡下載的三種風格 416
17.2 阻塞型 I/O 和 GIL 424
17.3 使用 concurrent.futures 模塊啓動進程 424
17.4 實驗 Executor.map 方法 426
17.5 顯示下載進度並處理錯誤 429
17.6 本章小結 437
17.7 延伸閱讀 438
第18章 使用 asyncio 包處理並發 442
18.1 綫程與協程對比 443
18.2 使用 asyncio 和 aiohttp 包下載 450
18.3 避免阻塞型調用 454
18.4 改進 asyncio 下載腳本 456
18.5 從迴調到期物和協程 462
18.6 使用 asyncio 包編寫服務器 466
18.7 本章小結 475
18.8 延伸閱讀 476
第六部分 元編程
第19章 動態屬性和特性 482
19.1 使用動態屬性轉換數據 483
19.2 使用特性驗證屬性 498
19.3 特性全解析 500
19.4 定義一個特性工廠函數 504
19.5 處理屬性刪除操作 506
19.6 處理屬性的重要屬性和函數 507
19.7 本章小結 510
19.8 延伸閱讀 510
第20章 屬性描述符 514
20.1 描述符示例:驗證屬性 514
20.2 覆蓋型與非覆蓋型描述符對比 526
20.3 方法是描述符 531
20.4 描述符用法建議 533
20.5 描述符的文檔字符串和覆蓋刪除操作 534
20.6 本章小結 535
20.7 延伸閱讀 536
第21章 類元編程 538
21.1 類工廠函數 539
21.2 定製描述符的類裝飾器 541
21.3 導入時和運行時比較 543
21.4 元類基礎知識 547
21.5 定製描述符的元類 552
21.6 元類的特殊方法 __prepare__ 554
21.7 類作為對象 556
21.8 本章小結 557
21.9 延伸閱讀 557
結語 560
附錄 A 輔助腳本 563
Python 術語錶 588
作者簡介 600
關於封麵 600
《流暢的Python》這個名字,聽起來就充滿瞭“智慧”和“洞察力”。我一直認為,學習一門編程語言,不僅僅是掌握語法和API,更重要的是理解它的設計理念和精髓。《流暢的Python》讓我看到瞭作者在這方麵的深厚功力。我希望這本書能帶我深入Python的“心髒”,去理解那些讓它如此強大的底層機製。我特彆想瞭解Python的解釋器是如何工作的?它的內存管理機製有什麼特彆之處?如何纔能寫齣真正符閤Python哲學、既易於理解又高效的代碼?我期待這本書能為我打開一扇新的大門,讓我能夠以一種全新的方式看待Python,從而在我的實際開發中,能夠寫齣更優雅、更具前瞻性的代碼。
評分這本書的名字,怎麼說呢,它點燃瞭我對Python的“探索欲”。我一直覺得Python的魅力遠不止於它的易學易用,它背後一定隱藏著更深層次的設計哲學和強大功能。就像一個技藝精湛的手工藝人,總能用最簡單的工具創造齣令人驚嘆的作品,《流暢的Python》聽起來就像是揭示這些“秘密”的寶典。我特彆好奇書中會如何剖析Python的那些“魔法”——那些看起來理所當然,但細究起來卻奧妙無窮的特性。比如,如何更好地利用Python的內存管理?如何構建高性能的並發程序?或者,在進行大規模數據處理時,哪些庫和技術能最大程度地提升效率?我希望這本書能把我從“錶麵玩傢”提升到“深度使用者”,讓我能夠真正駕馭Python這門語言,而不是被它牽著鼻子走。我期待這本書能提供一些“黑科技”,讓我寫齣來的代碼,在性能和可維護性上都達到一個新的高度。
評分當我第一眼看到《流暢的Python》這個書名時,我腦海裏閃過的第一個念頭是:“這正是我想要的!”。我從事Python開發已經有一段時間瞭,雖然已經能夠完成很多任務,但在代碼的“精煉”和“高效”方麵,總覺得還有很大的提升空間。很多時候,寫齣來的代碼雖然能運行,但總感覺不夠“地道”,不夠“Pythonic”。這本書聽起來就像是一個能夠指引我走嚮更高境界的指南針。我希望能從中學習到如何寫齣更簡潔、更具錶達力的代碼,如何更有效地利用Python的各種高級特性,比如生成器、裝飾器、元類等等,讓我的代碼像一部流暢的交響樂,而非雜亂無章的噪音。我也期待書中能有一些關於性能優化的技巧和最佳實踐,讓我能夠寫齣不僅好看,而且運行速度飛快的Python程序。
評分這本書的書名,《流暢的Python》,真是直擊人心。我一直在尋找能夠幫助我把Python技能提升到一個新層次的資源,而“流暢”這個詞,正是我對理想Python編程狀態的追求。我希望這本書能夠幫我打通任督二脈,讓我能夠輕鬆自如地運用Python解決各種復雜問題,而不僅僅是完成一些基礎任務。我特彆期待書中能夠講解一些我平時覺得難以掌握或者容易遺忘的Python高級特性,比如如何巧妙地利用列錶推導式和生成器錶達式來簡化代碼,如何使用裝飾器來增加函數的功能,又或者如何通過元編程來動態地創建和修改類。我希望通過閱讀這本書,我能夠擺脫“堆砌”代碼的習慣,寫齣真正精煉、高效、並且具有高度可讀性的Python程序。
評分《流暢的Python》這本書,我從書名上就感受到瞭它的“有料”。“流暢”這兩個字,讓我腦海中立刻浮現齣的是那種行雲流水般的編程體驗,代碼像歌唱一樣自然,邏輯清晰得像一眼就能望到底的河流。我尤其期待它能在我一直以來寫Python時遇到的那些“卡頓”和“磕磕絆絆”的地方,提供一種全新的視角和解決方案。很多時候,我們學習一門語言,尤其是像Python這樣廣泛應用的語言,很容易陷入“能用就行”的誤區,而忽略瞭代碼的優雅和效率。我相信這本書會幫助我突破這個瓶頸,讓我能夠更深入地理解Python的內在機製,從而寫齣更具可讀性、更高效、更符閤Pythonic風格的代碼。特彆是對於那些我平時模糊不清的概念,比如一些底層的實現原理,或者是在特定場景下最優的處理方式,我希望這本書能給我醍醐灌頂的指引。讀完之後,我希望自己能從一個“知道如何寫Python”的程序員,蛻變成一個“懂得如何優雅地寫Python”的開發者。
評分書剛到,帶封皮,質量不錯,有時間多看書少看手機
評分好好生活,用力去愛,即使遇到悲傷挫摺也不要沮喪,這世界總有不期而遇的溫暖和生生不息的希望,永遠彆忘瞭有人在愛你,勝過一切。溫柔以待這個世界,這個世界也會溫柔待你!趁著京東打摺,為傢人親朋挑一些他們稱心的禮物?,讓這個氣溫驟降的季節暖暖的哈哈哈謝謝京東人!
評分Thank you very much for the excellent service provided by Jingdong mall, and it is very good to do in warehouse management, logistics, distribution and so on. Delivery in a timely manner, distribution staff is also very enthusiastic, and sometimes inconvenient to receive the time, but also arranged for time to be delivered. At the same time in the mall management Jingdong customer service is also very good, to solve customer suffering, overcome all difficulties. Give us a very good shopping experience
評分這是一本適閤python小白的書,對於像我這樣打算入python的新手來說,現階段是很適閤的。本書是講解的Python3.3,根據我查閱的資料,還是Python2.9是最穩定的一個版本。將Py2.9入門和基礎掌握後,學習瞭解Py3.3的強大功能。哦對瞭,本書評分是9.1,雖說是有翻譯不當之處,隨著深入的學習可以自己修正。
評分provided by Jingdong mall,and it is very good to do
評分1、學習到後麵,感覺還是很迷茫,前麵教的知識僅僅隻教入門,並沒有結閤一些小項目加深學習或印象,這樣過一段時間很容易忘記或因用不上而忘記,書裏練習題比較簡單、隨便,建議自己上網上搞些練習題或小項目做下
評分豆漿芋頭 很清新的口味 豆漿味的鉢仔糕裏麵鑲嵌瞭一塊芋頭塊 吃得到縴維 但是芋頭味不是很突齣
評分2016年7月第1版,2018年3月北京第13次印刷。
評分每次活動都要買很多書,超劃算,小朋友和自己都很喜歡
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有