日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
流暢的Python圖書
人氣:48

流暢的Python

PSF研究員 知名PyCon演講者心血之作 深入 對Python語言關鍵特性剖析到位 兼顧Python 3和Python 2
  • 所屬分類:圖書 >計算機/網絡>程序設計>其他  
  • 作者:[巴西][盧西亞諾·拉馬略]([Luciano] [Ramalho])
  • 產品參數:
  • 叢書名:--
  • 國際刊號:9787115454157
  • 出版社:人民郵電出版社
  • 出版時間:2017-04
  • 印刷時間:2017-04-01
  • 版次:1
  • 開本:16開
  • 頁數:--
  • 紙張:膠版紙
  • 包裝:平裝-膠訂
  • 套裝:

內容簡介

流暢的Python 致力于幫助Python開發人員挖掘這門語言及相關程序庫的品質特性,避免重復勞動,同時寫出簡潔、流暢、易讀、易維護,并且具有地道Python風格的代碼。流暢的Python 尤其深入探討了Python語言的高級用法,涵蓋數據結構、Python風格的對象、并行與并發,以及元編程等不同的方面。

編輯推薦

流暢的Python 由奮戰在Python開發一線近20年的Luciano Ramalho執筆,Victor Stinner、Alex Martelli等Python大咖擔綱技術審稿人,從語言設計層面剖析編程細節,兼顧Python 3和Python 2,告訴你Python中不親自動手實踐就無法理解的語言陷阱成因和解決之道,教你寫出風格地道的Python代碼。 ● Python數據模型:理解為什么特殊方法是對象行為一致的關鍵。 ● 數據結構:充分利用內置類型,理解Unicode文本和字節二象性。 ● 把函數視作對象:把Python函數視作一等對象,并了解這一點對流行的設計模式的影響。 ● 面向對象習慣用法:通過構建類學習引用、可變性、接口、運算符重載和多重繼承。 ● 控制流程:學習使用上下文管理器、生成器、協程,以及通過concurrent.futures和asyncio包實現的并發。 ● 元編程:理解特性、描述符、類裝飾器和元類的工作原理。

作者簡介

Luciano Ramalho,從1998年起就成為了Python程序員。他是Python軟件基金會的成員,Python.pro.br(巴西的一家培訓公司)的共同所有者,還是巴西diyi個眾創空間Garoa Hacker Clube的聯合創始人。他領導過多個軟件開發團隊,還在巴西的媒體、銀行和政府部門教授Python課程。 [譯者簡介] 安道 專注于現代計算機技術的自由翻譯,譯有《Flask Web 開發》《Python 網絡編程攻略》《Ruby on Rails 教程》等書。 個人網站:http: about.ac 。 吳珂 現為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.2.1列表推導和可讀性18

2.2.2列表推導同 filter 和 map 的比較20

2.2.3笛卡兒積20

2.2.4生成器表達式21

2.3元組不僅僅是不可變的列表22

2.3.1元組和記錄23

2.3.2元組拆包23

2.3.3嵌套元組拆包25

2.3.4具名元組26

2.3.5作為不可變列表的元組27

2.4切片28

2.4.1為什么切片和區間會忽略一個元素28

2.4.2對對象進行切片29

2.4.3多維切片和省略30

2.4.4給切片賦值31

2.5對序列使用 和 31

2.6序列的增量賦值33

2.7list.sort 方法和內置函數 sorted36

2.8用 bisect 來管理已排序的序列37

2.8.1用 bisect 來搜索38

2.8.2用 bisect.insort 插入新元素40

2.9當列表不是時41

2.9.1數組41

2.9.2內存視圖44

2.9.3NumPy 和 SciPy45

2.9.4雙向隊列和其他形式的隊列47

2.10本章小結49

2.11延伸閱讀50

第3 章 字典和集合54

3.1泛映射類型54

3.2字典推導56

3.3常見的映射方法57

3.4映射的彈性鍵查詢61

3.4.1defaultdict :處理找不到的鍵的一個選擇61

3.4.2特殊方法 __missing__62

3.5字典的變種65

3.6子類化 UserDict65

3.7不可變映射類型67

3.8集合論68

3.8.1集合字面量69

3.8.2集合推導71

3.8.3集合的操作71

3.9dict 和 set 的背后73

3.9.1一個關于效率的實驗74

3.9.2字典中的散列表75

3.9.3dict 的實現及其導致的結果78

3.9.4set 的實現以及導致的結果80

3.10本章小結80

3.11延伸閱讀81

第4 章 文本和字節序列83

4.1字符問題84

4.2字節概要85

4.3基本的編解碼器88

4.4了解編解碼問題89

4.4.1處理 UnicodeEncodeError90

4.4.2處理 UnicodeDecodeError90

4.4.3使用預期之外的編碼加載模塊時拋出的 SyntaxError91

4.4.4如何找出字節序列的編碼92

4.4.5BOM:有用的鬼符93

4.5處理文本文件94

4.6為了正確比較而規范化 Unicode 字符串99

4.6.1大小寫折疊101

4.6.2規范化文本匹配實用函數102

4.6.3極端“規范化”:去掉變音符號103

4.7Unicode 文本排序105

4.8Unicode 數據庫108

4.9支持字符串和字節序列的雙模式 API109

4.9.1正則表達式中的字符串和字節序列109

4.9.2os 函數中的字符串和字節序列111

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.10.1operator 模塊132

5.10.2使用 functools.partial 凍結參數135

5.11本章小結137

5.12延伸閱讀137

第6 章 使用一等函數實現設計模式141

6.1案例分析:重構“策略”模式142

6.1.1經典的“策略”模式142

6.1.2使用函數實現“策略”模式145

6.1.3選擇策略:簡單的方式148

6.1.4找出模塊中的全部策略149

6.2“命令”模式150

6.3本章小結151

6.4延伸閱讀152

第7 章 函數裝飾器和閉包154

7.1裝飾器基礎知識155

7.2Python 何時執行裝飾器156

7.3使用裝飾器改進“策略”模式157

7.4變量作用域規則159

7.5閉包161

7.6nonlocal 聲明164

7.7實現一個簡單的裝飾器165

7.8標準庫中的裝飾器168

7.8.1使用 functools.lru_cache 做備忘168

7.8.2單分派泛函數170

7.9疊放裝飾器172

7.10參數化裝飾器173

7.10.1一個參數化的注冊裝飾器173

7.10.2參數化 clock 裝飾器175

7.11本章小結177

7.12延伸閱讀178

第四部分面向對象慣用法

第8 章 對象引用、可變性和垃圾回收182

8.1變量不是盒子183

8.2標識、相等性和別名184

8.2.1在 == 和 is 之間選擇185

8.2.2元組的相對不可變性186

8.3默認做淺復制187

8.4函數的參數作為引用時190

8.4.1不要使用可變類型作為參數的默認值191

8.4.2防御可變參數193

8.5del 和垃圾回收195

8.6弱引用196

8.6.1WeakValueDictionary 簡介197

8.6.2弱引用的局限199

8.7Python 對不可變類型施加的把戲199

8.8本章小結201

8.9延伸閱讀201

第9 章 符合 Python 風格的對象205

9.1對象表示形式206

9.2再談向量類206

9.3備選構造方法208

9.4classmethod 與 staticmethod209

9.5格式化顯示210

9.6可散列的 Vector2d213

9.7Python 的私有屬性和“受保護的”屬性218

9.8使用 __slots__ 類屬性節省空間220

9.9覆蓋類屬性222

9.10本章小結224

9.11延伸閱讀225

第10 章 序列的修改、散列和切片229

10.1Vector 類:用戶定義的序列類型230

10.2Vector 類第 1 版:與 Vector2d 類兼容230

10.3協議和鴨子類型232

10.4Vector 類第 2 版:可切片的序列233

10.4.1切片原理234

10.4.2能處理切片的 __getitem__ 方法236

10.5Vector 類第 3 版:動態存取屬性237

10.6Vector 類第 4 版:散列和快速等值測試240

10.7Vector 類第 5 版:格式化244

10.8本章小結251

10.9延伸閱讀251

第11 章 接口:從協議到抽象基類256

11.1Python 文化中的接口和協議257

11.2Python 喜歡序列258

11.3使用猴子補丁在運行時實現協議260

11.4Alex Martelli 的水禽262

11.5定義抽象基類的子類266

11.6標準庫中的抽象基類267

11.6.1collections.abc 模塊中的抽象基類267

11.6.2抽象基類的數字塔269

11.7定義并使用一個抽象基類270

11.7.1抽象基類句法詳解273

11.7.2定義 Tombola 抽象基類的子類274

11.7.3Tombola 的虛擬子類276

11.8Tombola 子類的測試方法278

11.9Python 使用 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.1Sentence 類第 1 版:單詞序列331

14.2可迭代的對象與迭代器的對比334

14.3Sentence 類第 2 版:典型的迭代器337

14.4Sentence 類第 3 版:生成器函數339

14.5Sentence 類第 4 版:惰性實現343

14.6Sentence 類第 5 版:生成器表達式344

14.7何時使用生成器表達式345

14.8另一個示例:等差數列生成器346

14.9標準庫中的生成器函數349

14.10Python 3.3 中新出現的句法: yield from357

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.3contextlib 模塊中的實用工具374

15.4使用 @contextmanager375

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 from393

16.8yield from 的意義398

16.9使用案例:使用協程做離散事件仿真403

16.9.1離散事件仿真簡介403

16.9.2出租車隊運營仿真404

16.10本章小結410

16.11延伸閱讀411

第17 章 使用期物處理并發416

17.1示例:網絡下載的三種風格416

17.1.1依序下載的腳本418

17.1.2使用 concurrent.futures 模塊下載420

17.1.3期物在哪里421

17.2阻塞型 I O 和 GIL424

17.3使用 concurrent.futures 模塊啟動進程424

17.4實驗 Executor.map 方法426

17.5顯示下載進度并處理錯誤429

17.5.1flags2 系列示例處理錯誤的方式433

17.5.2使用 futures.as_completed 函數435

17.5.3線程和多進程的替代方案437

17.6本章小結437

17.7延伸閱讀438

第18 章 使用 asyncio 包處理并發442

18.1線程與協程對比443

18.1.1asyncio.Future :故意不阻塞448

18.1.2從期物、任務和協程中產出449

18.2使用 asyncio 和 aiohttp 包下載450

18.3避免阻塞型調用454

18.4改進 asyncio 下載腳本456

18.4.1使用 asyncio.as_completed 函數456

18.4.2使用 Executor 對象,防止阻塞事件循環461

18.5從回調到期物和協程462

18.6使用 asyncio 包編寫服務器466

18.6.1使用 asyncio 包編寫 TCP 服務器467

18.6.2使用 aiohttp 包編寫 Web 服務器471

18.6.3更好地支持并發的智能客戶端474

18.7本章小結475

18.8延伸閱讀476

第六部分元編程

第19 章 動態屬性和特性482

19.1使用動態屬性轉換數據483

19.1.1使用動態屬性訪問 JSON 類數據485

19.1.2處理無效屬性名487

19.1.3使用 __new__ 方法以靈活的方式創建對象488

19.1.4使用 shelve 模塊調整 OSCON 數據源的結構490

19.1.5使用特性獲取鏈接的記錄493

19.2使用特性驗證屬性498

19.2.1LineItem 類第 1 版:表示訂單中商品的類498

19.2.2LineItem 類第 2 版:能驗證值的特性499

19.3特性全解析500

19.3.1特性會覆蓋實例屬性501

19.3.2特性的文檔503

19.4定義一個特性工廠函數504

19.5處理屬性刪除操作506

19.6處理屬性的重要屬性和函數507

19.6.1影響屬性處理方式的特殊屬性507

19.6.2處理屬性的內置函數508

19.6.3處理屬性的特殊方法509

19.7本章小結510

19.8延伸閱讀510

第20 章 屬性描述符514

20.1描述符示例:驗證屬性514

20.1.1LineItem 類第 3 版:一個簡單的描述符515

20.1.2LineItem 類第 4 版:自動獲取儲存屬性的名稱519

20.1.3LineItem 類第 5 版:一種新型描述符524

20.2覆蓋型與非覆蓋型描述符對比526

20.2.1覆蓋型描述符528

20.2.2沒有 __get__ 方法的覆蓋型描述符529

20.2.3非覆蓋型描述符530

20.2.4在類中覆蓋描述符531

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

媒體評論

“很榮幸擔任這本youxiu圖書的技術審校。這本書能幫助很多中級Python程序員掌握這門語言,我也從中學到了相當多的知識!”——Alex Martelli,Python軟件基金會成員 “對于想要擴充知識的中級和高級Python程序員來說,這本書是充滿了實用編程技巧的寶藏。”——Daniel Greenfeld和Audrey Roy Greenfeld,Two Scoops of Django作者

網友評論(不代表本站觀點)

來自一***子**的評論:

流暢的Python 包裝不錯。

2017-06-07 20:59:00
來自小蘋果**的評論:

書很少,包裝也不錯

2017-11-17 00:32:33
來自無昵稱**的評論:

goog.

2017-11-18 13:58:19
來自g***h(**的評論:

OK OK

2017-05-30 14:50:09
來自頑***(**的評論:

很不錯的書

2017-06-06 14:15:33
來自超***(**的評論:

沒啥好說的,好書。辣雞當非要湊幾個破字。

2017-06-16 15:49:37
來自k***e(**的評論:

很實用...

2017-07-06 08:50:39
來自***(匿**的評論:

這個商品還不錯。

2017-07-14 08:10:11
來自a***r(**的評論:

???是書本身這樣,還是快遞弄得?

2017-07-24 14:44:25
來自無昵稱**的評論:

python的上等書籍,值得好好研讀。

2017-08-25 11:19:18
來自ausdruc**的評論:

適合有一定基礎的同學看

2017-08-26 23:11:17
來自無昵稱**的評論:

好……………

2017-09-16 14:22:02
來自無昵稱**的評論:

第一次知道這本書的時候,還是在stackoverflow,看到本書作者的推薦。當時還是英文Early Release版的,讀了前兩章感覺非常不錯。奈何 工作太忙,再者,英文讀起來還是有些慢,就放棄了。現在出了中文版,果斷買一本,也算是支持一下作者啦。翻譯的也還不錯,之前看過 安道 翻譯的《 flask web 開發》,感覺這個譯者也還挺靠譜。就貼書的照片了,質量還可以,當當的書老司機都懂,我也不多說了。

2017-09-17 10:59:46
來自匿名用**的評論:

剛買的新書,

2017-09-19 16:59:32
來自無昵稱**的評論:

很好的書 適合有一定python基礎的人

2017-09-21 22:17:48
來自世至其**的評論:

進階級別的書籍

2017-10-08 13:16:44
來自青山老**的評論:

學習python的必讀

2017-10-13 18:32:43
來自無昵稱**的評論:

好書?。?!心血之作!??!

2017-10-15 17:18:15
來自無昵稱**的評論:

書是用薄膜封著的,所以沒有啥折損的,這點不錯。

2017-08-27 14:26:01

免責聲明

更多出版社