主頁 > 後端開發 > 小白學python必選一本書籍《Python學習手冊》(第4版)

小白學python必選一本書籍《Python學習手冊》(第4版)

2020-09-19 16:59:33 後端開發

《Python學習手冊》(第4版)pdf高清版免費下載地址:

提取碼:ihpl

 

 

 

內容簡介  · · · · · ·

Google和YouTube由于Python的高可適應性、易于維護以及適合于快速開發而采用它,如果你想要撰寫高質量、高效的并且易于與其他語言和工具集成的代碼,《Python學習手冊:第4 版》將幫助你使用Python快速實作這一點,不管你是編程新手還是Python初學者,本書是易于掌握和自學的教程,根據作者Python專家Mark Lutz的著名培訓課程撰寫而成,

《Python學習手冊:第4版》每一章都包含關于Python語言的關鍵內容的獨立的一課,并且包含了一個獨特的“練習題”部分,其中帶有實際的練習和測驗,以便你可以練習新的技能并隨著學習而測驗自己的理解,你會發現眾多帶有注釋的示例以及圖表,它們將幫助你開始學習Python 3.0,

《Python學習手冊:第4版》包括以下內容:

學習Python的主要內建物件型別:數字、串列和字典,

使用Py...

(展開全部)

作者簡介  · · · · · ·

作為全球Python培訓界的領軍人物,《Python學習手冊:第4版》作者Mark Lutz是Python最暢銷書籍的作者,也是Python社區的先驅,

Mark 是O'Reilly出版的《Programming Python》和《Python Pocket Reference》的作者,這兩本書于2009年都已經出版了第3版,Mark自1992年開始接觸Python,1995年開始撰寫有關Python的書籍,從1997年開始教授Python課程,截止到2009年,他已經開辦了225個Python短期培訓課程,教授了大約3500名學習者,銷售了大約25萬冊有關Python的書籍,許多書被翻譯成十多種語言,

此外,Mark擁有威斯康星大學計算機科學學士和碩士學位,在過去的25年中,他主要從事編譯器、編程工具、腳本程式以及各種客戶端/服務器系統方面的作業,...

(展開全部)

目錄  · · · · · ·

前言 1
第一部分 使用入門
第1章 問答環節 19
人們為何使用Python 19
軟體質量 20
開發效率 21
Python是“腳本語言”嗎 21
好吧,Python的缺點是什么呢 23
如今誰在使用Python 23
使用Python可以做些什么 24
系統編程 25
用戶圖形介面 25
Internet腳本 25
組件集成 26
資料庫編程 26
快速原型 27
數值計算和科學計算編程 27
游戲、影像、人工智能、XML、機器人等 27
Python如何獲得支持 28
Python有哪些技術上的優點 28
面向物件 28
免費 29
可移植 29
功能強大 30
可混合 31
簡單易用 31
簡單易學 32
Python和其他語言比較起來怎么樣 32
本章小結 33
本章習題 33
習題解答 34
Python是工程,不是藝術 34
第2章 Python如何運行程式 36
Python解釋器簡介 36
程式執行 37
程式員的視角 37
Python的視角 39
執行模塊的變體 41
Python實作的替代者 42
執行優化工具 43
凍結二進制檔案 44
其他執行選項 45
未來的可能性 46
本章小結 46
本章習題 47
習題解答 47
第3章 如何運行程式 48
互動提示模式下撰寫代碼 48
互動地運行代碼 49
為什么使用互動提示模式 51
使用互動提示模式 52
系統命令列和檔案 54
第一段腳本 55
使用命令列運行檔案 56
使用命令列和檔案 57
UNIX可執行腳本(#!) 58
UNIX env查找技巧 59
點擊檔案圖示 60
在Windows中點擊圖示 60
input的技巧 61
圖示點擊的其他限制 63
模塊匯入和多載 63
模塊的顯要特性:屬性 65
import和reload的使用注意事項 68
使用exec運行模塊檔案 69
IDLE用戶界面 70
IDLE基礎 71
使用IDLE 72
高級IDLE工具 74
其他的IDE 74
其他啟動選項 76
嵌入式呼叫 76
凍結二進制的可執行性 77
文本編輯器啟動的選擇 77
其他的啟動選擇 77
未來的可能 77
我應該選用哪種 78
除錯Python代碼 78
本章小結 80
本章習題 80
習題解答 80
第一部分 練習題 81
第二部分 型別和運算
第4章 介紹Python物件型別 87
為什么使用內置型別 88
Python的核心資料型別 88
數字 90
字串 92
序列的操作 92
不可變性 94
型別特定的方法 94
尋求幫助 96
撰寫字串的其他方法 97
模式匹配 98
串列 98
序列操作 98
型別特定的操作 99
邊界檢查 100
嵌套 100
串列決議 101
字典 103
映射操作 103
重訪嵌套 104
鍵的排序:for 回圈 105
迭代和優化 107
不存在的鍵:if 測驗 107
元組 109
為什么要用元組 109
檔案 110
其他檔案類工具 111
其他核心型別 111
如何破壞代碼的靈活性 113
用戶定義的類 114
剩余的內容 115
本章小結 115
本章習題 116
習題解答 116
第5章 數字 117
Python的數字型別 117
數字常量 118
內置數學工具和擴展 119
Python運算式運算子 120
在實際應用中的數字 125
變數和基本的運算式 125
數字顯示的格式 126
比較:一般的和連續的 127
str和repr顯示格式 128
除法: 傳統除法、Floor除法和真除法 129
整數精度 133
復數 133
十六進制、八進制和二進制記數 134
位操作 136
其他的內置數學工具 137
其他數字型別 139
小數數字 139
分數型別 141
集合 145
布爾型 151
數字擴展 152
本章小結 153
本章習題 153
習題解答 153
第6章 動態型別簡介 155
缺少型別宣告陳述句的情況 155
變數、物件和參考 156
型別屬于物件,而不是變數 157
物件的垃圾收集 158
共享參考 159
共享參考和在原處修改 161
共享參考和相等 163
動態型別隨處可見 164
本章小結 165
本章習題 165
習題解答 165
第7章 字串 167
字串常量 169
單雙引號字串是一樣的 170
用轉義序列代表特殊位元組 171
raw字串抑制轉義 173
三重引號撰寫多行字串塊 175
實際應用中的字串 176
基本操作 176
索引和分片 177
為什么要在意:分片 181
字串轉換工具 181
修改字串 184
字串方法 185
字串方法實體:修改字串 187
字串方法實體:文本決議 189
實際應用中的其他常見字串方法 190
最初的字串模塊(在Python 3.0中洗掉) 191
字串格式化運算式 192
更高級的字串格式化運算式 194
基于字典的字串格式化 196
字串格式化呼叫方法 196
基礎知識 197
添加鍵、屬性和偏移量 198
添加具體格式化 198
與%格式化運算式比較 200
為什么用新的格式化方法 203
通常意義下的型別分類 206
同樣分類的型別共享其操作集合 206
可變型別能夠在原處修改 207
本章小結 208
本章習題 208
習題解答 208
第8章 串列與字典 210
串列 210
實際應用中的串列 213
基本串列操作 213
串列迭代和決議 213
索引、分片和矩陣 214
原處修改串列 215
字典 220
實際應用中的字典 222
字典的基本操作 222
原處修改字典 223
其他字典方法 224
語言表 225
字典用法注意事項 226
為什么要在意字典介面 229
創建字典的其他方法 230
Python 3.0中的字典變化 231
本章小結 237
本章習題 237
習題解答 237
第9章 元組、檔案及其他 239
元組 239
實際應用中的元組 241
為什么有了串列還要元組 243
檔案 243
打開檔案 244
使用檔案 245
實際應用中的檔案 246
其他檔案工具 252
重訪型別分類 254
為什么要在意運算子多載 255
物件靈活性 255
參考 VS 拷貝 256
比較、相等性和真值 258
Python 3.0的字典比較 260
Python中真和假的含義 261
Python的型別層次 263
Type物件 263
Python中的其他型別 265
內置型別陷阱 265
賦值生成參考,而不是拷貝 265
重復能夠增加層次深度 266
留意回圈資料結構 266
不可變型別不可以在原處改變 267
本章小結 267
本章習題 268
習題解答 268
第二部分練習題 269
第三部分 陳述句和語法
第10章 Python陳述句簡介 275
重訪Python程式結構 275
Python的陳述句 276
兩個if的故事 278
Python增加了什么 279
Python洗掉了什么 279
為什么使用縮進語法 281
幾個特殊實體 283
簡短實體:互動回圈 285
一個簡單的互動式回圈 285
對用戶輸入資料做數學運算 287
用測驗輸入資料來處理錯誤 288
用try陳述句處理錯誤 289
嵌套代碼三層 290
本章小結 290
本章習題 291
習題解答 291
第11章 賦值、運算式和列印 292
賦值陳述句 292
賦值陳述句的形式 293
序列賦值 294
Python 3.0中的擴展序列解包 297
多目標賦值陳述句 301
增強賦值陳述句 302
變數命名規則 305
Python的廢棄協議 306
運算式陳述句 308
運算式陳述句和在原處的修改 309
列印操作 310
Python 3.0的print函式 311
Python 2.6 print陳述句 313
列印流重定向 315
版本獨立的列印 318
為什么要注意print和stdout 319
本章小結 320
本章習題 321
習題解答 321
第12章 if測驗和語法規則 322
if陳述句 322
通用格式 322
基本例子 323
多路分支 323
Python語法規則 325
代碼塊分隔符 326
陳述句的分隔符 328
一些特殊情況 329
真值測驗 330
if/else三元運算式 332
為什么要在意布林值 334
本章小結 335
本章習題 335
習題解答 335
第13章 while和for回圈 336
while回圈 336
一般格式 336
例子 337
break、continue、pass和回圈else 338
一般回圈格式 338
pass 338
continue 340
break 340
回圈else 341
為什么要在意“模擬C 語言的while回圈” 342
for回圈 343
一般格式 343
例子 344
為什么要在意“檔案掃描” 349
撰寫回圈的技巧 350
回圈計數器:while和range 351
非完備遍歷:range和分片 352
修改串列:range 353
并行遍歷:zip和map 354
產生偏移和元素:enumerate 357
本章小結 358
本章習題 358
習題解答 359
第14章 迭代器和決議,第一部分 360
迭代器:初探 360
檔案迭代器 361
手動迭代:iter和next 363
其他內置型別迭代器 365
串列決議:初探 367
串列決議基礎知識 368
在檔案上使用串列決議 369
擴展的串列決議語法 370
其他迭代環境 371
Python 3.0中的新的可迭代物件 375
range迭代器 376
map、zip和filter迭代器 377
多個迭代器 VS單個迭代器 378
字典視圖迭代器 379
其他迭代器主題 381
本章小結 381
本章習題 381
習題解答 382
第15章 檔案 383
Python文黨澩 383
#注釋 384
dir函式 384
檔案字串:__doc__ 385
PyDoc:help函式 388
PyDoc:HTML報表 390
標準手冊集 393
網路資源 394
已出版的書籍 394
常見撰寫代碼的陷阱 395
本章小結 397
本章習題 397
習題解答 397
第三部分練習題 398
第四部分 函式
第16章 函式基礎 403
為何使用函式 404
撰寫函式 405
def陳述句 406
def陳述句是實時執行的 407
第一個例子:定義和呼叫 408
定義 408
呼叫 408
Python中的多型 409
第二個例子:尋找序列的交集 410
定義 410
呼叫 411
重訪多型 411
本地變數 412
本章小結 413
本章習題 413
習題解答 413
第17章 作用域 415
Python作用域基礎 415
作用域法則 416
變數名決議:LEGB原則 418
作用域實體 419
內置作用域 420
在Python 2.6中違反通用性 422
global陳述句 422
最小化全域變數 423
最小化檔案間的修改 424
其他訪問全域變數的方法 426
作用域和嵌套函式 427
嵌套作用域的細節 427
嵌套作用域舉例 427
nonlocal陳述句 433
nonlocal基礎 433
nonlocal應用 435
為什么使用nonlocal 437
本章小結 440
本章習題 441
習題解答 442
第18章 引數 444
傳遞引數 444
引數和共享參考 445
避免可變引數的修改 447
對引數輸出進行模擬 448
特定的引數匹配模型 449
基礎知識 449
匹配語法 450
細節 452
關鍵字引數和默認引數的實體 452
任意引數的實體 455
Python 3.0 Keyword-Only引數 459
min呼叫 462
滿分 463
加分點 464
結論 465
一個更有用的例子:通用set函式 465
模擬Python 3.0 print函式 466
使用Keyword-Only引數 467
為什么要在意:關鍵字引數 469
本章小結 469
本章習題 470
習題解答 470
第19章 函式的高級話題 472
函式設計概念 472
遞回函式 474
用遞回求和 474
編碼替代方案 475
回圈陳述句VS遞回 476
處理任意結構 477
函式物件:屬性和注解 478
間接函式呼叫 478
函式內省 479
函式屬性 480
Python 3.0中的函式注解 481
匿名函式: lambda 483
lambda運算式 483
為什么使用lambda 484
如何(不要)讓Python代碼變得晦澀難懂 486
嵌套lambda和作用域 487
為什么要在意:回呼 488
在序列中映射函式:map 489
函式式編程工具:filter和reduce 490
本章小結 492
本章習題 492
習題解答 492
第20章 迭代和決議,第二部分 494
回顧串列決議:函式式編程工具 494
串列決議與map 495
增加測驗和嵌套回圈 496
串列決議和矩陣 498
理解串列決議 499
為什么要在意:串列決議和map 500
重訪迭代器:生成器 501
生成器函式:yield VS return 502
生成器運算式:迭代器遇到串列決議 506
生成器函式 VS 生成器運算式 507
生成器是單迭代器物件 508
用迭代工具模擬zip和map 510
為什么你會留意:單次迭代 514
內置型別和類中的值生成 515
Python 3.0決議語法概括 516
決議集合和字典決議 517
針對集合和字典的擴展的決議語法 517
對迭代的各種方法進行計時 518
對模塊計時 519
計時腳本 519
計時結果 520
計時模塊替代方案 523
其他建議 527
函式陷阱 528
本地變數是靜態檢測的 528
默認和可變物件 529
沒有return陳述句的函式 531
嵌套作用域的回圈變數 532
本章小結 532
本章習題 532
習題解答 533
第四部分練習題 533
第五部分 模塊
第21章 模塊:宏偉藍圖 539
為什么使用模塊 540
Python程式架構 540
如何組織一個程式 541
匯入和屬性 541
標準庫模塊 543
import如何作業 543
1.搜索 544
2.編譯(可選) 544
3.運行 545
模塊搜索路徑 545
配置搜索路徑 547
搜索路徑的變動 548
sys.path串列 548
模塊檔案選擇 549
高級的模塊選擇概念 550
第三方工具:distutils 550
本章小結 551
本章習題 551
習題解答 551
第22章 模塊代碼撰寫基礎 553
模塊的創建 553
模塊的使用 554
import陳述句 554
from陳述句 555
from *陳述句 555
匯入只發生一次 555
import和from是賦值陳述句 556
檔案間變數名的改變 557
import和from的對等性 557
from陳述句潛在的陷阱 558
模塊命名空間 560
檔案生成命名空間 560
屬性名的點號運算 562
匯入和作用域 562
命名空間的嵌套 563
多載模塊 564
reload基礎 565
reload實體 566
為什么要在意:模塊多載 567
本章小結 568
本章習題 568
習題解答 568
第23章 模塊包 570
包匯入基礎 570
包和搜索路徑設定 571
__init__.py包檔案 572
包匯入實體 573
包對應的from陳述句和import陳述句 574
為什么要使用包匯入 575
三個系統的傳說 576
包相對匯入 578
Python 3.0中的變化 578
相對匯入基礎知識 579
為什么使用相對匯入 581
相對匯入的作用域 583
模塊查找規則總結 583
相對匯入的應用 584
為什么要在意:模塊包 589
本章小結 590
本章習題 590
習題解答 590
第24章 高級模塊話題 592
在模塊中隱藏資料 592
最小化from *的破壞:_X和__all__ 593
啟用以后的語言特性 593
混合用法模式:__name__和__main__ 594
以__name__進行單元測驗 595
使用帶有__name__的命令列引數 596
修改模塊搜索路徑 599
Import陳述句和from陳述句的as擴展 599
模塊是物件:元程式 600
用名稱字串匯入模塊 603
過渡性模塊多載 604
模塊設計理念 607
模塊陷阱 607
頂層代碼的陳述句次序的重要性 608
from復制變數名,而不是連接 609
from *會讓變數語意模糊 610
reload不會影響from匯入 610
reload、from以及互動模式測驗 611
遞回形式的from匯入無法作業 612
本章小結 613
本章習題 613
習題解答 613
第五部分練習題 614
第六部分 類和OOP
第25章 OOP:宏偉藍圖 619
為何使用類 620
概覽OOP 621
屬性繼承搜索 621
類和實體 623
類方法呼叫 624
撰寫類樹 624
OOP是為了代碼重用 627
本章小結 629
本章習題 629
習題解答 630
第26章 類代碼撰寫基礎 631
類產生多個實體物件 631
類物件提供默認行為 632
實體物件是具體的元素 632
第一個例子 632
類通過繼承進行定制 635
第二個例子 635
類是模塊內的屬性 637
類可以截獲Python運算子 638
第三個例子 639
為什么要使用運算子多載 641
世界上最簡單的Python類 641
類與字典的關系 644
本章小結 646
本章習題 646
習題解答 646
第27章 更多實體 649
步驟1:創建實體 650
撰寫建構式 650
在進行中測驗 651
以兩種方式使用代碼 652
版本差異提示 654
步驟2:添加行為方法 654
撰寫方法 656
步驟3:運算子多載 658
提供列印顯示 658
步驟4:通過子類定制行為 659
撰寫子類 660
擴展方法:不好的方式 660
擴展方法:好的方式 661
多型的作用 663
繼承、定制和擴展 664
OOP:大思路 664
步驟5:定制建構式 665
OOP比我們認為的要簡單 666
組合類的其他方式 667
在Python 3.0中捕獲內置屬性 669
步驟6:使用內省工具 670
特殊類屬性 670
一種通用顯示工具 671
實體與類屬性的關系 672
工具類的命名考慮 673
類的最終形式 674
步驟7(最后一步):把物件存盤到資料庫中 676
Pickle和Shelve 676
在shelve資料庫中存盤物件 677
互動地探索shelve 678
更新shelve中的物件 680
未來方向 681
本章小結 683
本章習題 684
習題解答 684
第28章 類代碼撰寫細節 686
class陳述句 686
一般形式 686
例子 687
方法 689
例子 690
呼叫超類建構式 691
其他方法呼叫的可能性 691
繼承 692
屬性樹的構造 692
繼承方法的專有化 693
類介面技術 694
抽象超類 695
Python 2.6和Python 3.0的抽象超類 696
命名空間:完整的內容 698
簡單變數名:如果賦值就不是全域變數 698
屬性名稱:物件命名空間 698
Python命名空間的“禪”:賦值將變數名分類 699
命名空間字典 701
命名空間鏈接 704
回顧檔案字串 706
類與模塊的關系 707
本章小結 708
本章習題 708
習題解答 708
第29章 運算子多載 710
基礎知識 710
建構式和運算式:__init__和__sub__ 711
常見的運算子多載方法 711
索引和分片:__getitem__和__setitem__ 713
攔截分片 713
Python 2.6中的分片和索引 715
索引迭代:__getitem__ 716
迭代器物件:__iter__和__next__ 717
用戶定義的迭代器 717
有多個迭代器的物件 719
成員關系:__contains__、__iter__和__getitem__ 721
屬性參考:__getattr__和__setattr__ 723
其他屬性管理工具 725
模擬實體屬性的私有性:第一部分 725
__repr__和__str__會回傳字串表達形式 726
右側加法和原處加法:__radd__和__iadd__ 729
原處加法 730
Call運算式:__call__ 731
函式介面和回呼代碼 732
比較:__lt__、__gt__和其他方法 734
Python 2.6的__cmp__方法(已經從Python 3.0中移除了) 734
布爾測驗:__bool__和__len__ 735
Python 2.6中的布爾 736
物件解構式:__del__ 738
本章小結 739
本章習題 739
習題解答 739
第30章 類的設計 741
Python和OOP 741
通過呼叫標記進行多載(或不要) 742
OOP和繼承:“是一個”關系 743
OOP和組合:“有一個”關系 744
重訪流處理器 746
為什么要在意:類和持續性 748
OOP和委托:“包裝”物件 749
類的偽私有屬性 751
變數名壓縮概覽 751
為什么使用偽私有屬性 752
方法是物件:系結或無系結 754
在Python 3.0中,無系結方法是函式 756
系結方法和其他可呼叫物件 757
為什么要在意:系結方法和回呼函式 760
多重繼承:“混合”類 760
撰寫混合顯示類 761
類是物件:通用物件的工廠 771
為什么有工廠 772
與設計相關的其他話題 773
本章小結 773
本章習題 774
習題解答 774
第31章 類的高級主題 775
擴展內置型別 775
通過嵌入擴展型別 776
通過子類擴展型別 777
新式類 779
新式類變化 780
型別模式變化 781
鉆石繼承變動 785
新式類的擴展 789
slots實體 789
類特性 793
__getattribute__和描述符 795
元類 795
靜態方法和類方法 796
為什么使用特殊方法 796
Python 2.6和Python 3.0中的靜態方法 797
靜態方法替代方案 799
使用靜態和類方法 800
使用靜態方法統計實體 801
用類方法統計實體 802
裝飾器和元類:第一部分 805
函式裝飾器基礎 805
裝飾器例子 806
類裝飾器和元類 807
更多詳細資訊 808
類陷阱 809
修改類屬性的副作用 809
修改可變的類屬性也可能產生副作用 810
多重繼承:順序很重要 811
類、方法以及嵌套作用域 812
Python中基于委托的類:__getattr__和內置函式 814
“過度包裝” 814
本章小結 815
本章習題 815
習題解答 815
第六部分練習題 816
為什么要在意:大師眼中的OOP 821
第七部分 例外和工具
第32章 例外基礎 825
為什么使用例外 826
例外的角色 826
例外處理:簡明扼要 827
默認例外處理器 827
捕獲例外 828
引發例外 829
用戶定義的例外 830
終止行為 830
為什么要在意:錯誤檢查 832
本章小結 833
本章習題 833
習題解答 834
第33章 例外編碼細節 835
try/except/else陳述句 835
try陳述句分句 836
try/else分句 839
例子:默認行為 840
例子:捕捉內置例外 841
try/finally陳述句 841
例子:利用try/finally撰寫終止行為 842
統一try/except/finally陳述句 843
統一try陳述句語法 845
通過嵌套合并finally和except 845
合并try的例子 846
raise陳述句 847
利用raise傳遞例外 849
Python 3.0例外鏈:raise from 849
assert陳述句 850
例子:收集約束條件(但不是錯誤) 850
with/as環境管理器 851
基本使用 852
環境管理協議 853
本章小結 855
本章習題 855
習題解答 856
第34章 例外物件 857
例外:回到未來 858
字串例外很簡單 858
基于類的例外 858
類例外例子 859
為什么使用類例外 861
內置Exception類 864
內置例外分類 865
默認列印和狀態 866
定制列印顯示 867
定制資料和行為 868
提供例外細節 868
提供例外方法 869
本章小結 870
本章習題 870
習題解答 870
第35章 例外的設計 872
嵌套例外處理器 872
例子:控制流程嵌套 873
例子:語法嵌套化 874
例外的習慣用法 876
例外不總是錯誤 876
函式信號條件和raise 876
關閉檔案和服務器連接 877
在try外進行除錯 878
運行行程中的測驗 879
關于sys.exc_info 879
與例外有關的技巧 880
應該包裝什么 881
捕捉太多:避免空except陳述句 881
捕捉過少:使用基于類的分類 883
核心語言總結 884
Python工具集 884
大型專案的開發工具 885
本章小結 888
第七部分練習題 889
第八部分 高級話題注1
第36章 Unicode和位元組字串 893
Python 3.0中的字串修改 894
字串基礎知識 895
字符編碼方法 895
Python的字串型別 897
文本和二進制檔案 899
Python 3.0中的字串應用 900
常量和基本屬性 900
轉換 901
編碼Unicode字串 903
編碼ASCII文本 903
編碼非ASCII文本 904
編碼和解碼非ASCII文本 904
其他Unicode編碼技術 905
轉換編碼 907
在Python 2.6中編碼Unicode字串 908
源檔案字符集編碼宣告 910
使用Python 3.0 Bytes物件 911
方法呼叫 912
序列操作 913
創建bytes物件的其他方式 913
混合字串型別 914
使用Python 3.0(和Python 2.6)bytearray物件 915
使用文本檔案和二進制檔案 918
文本檔案基礎 919
Python 3.0中的文本和二進制模式 919
型別和內容錯誤匹配 921
使用Unicode檔案 922
在Python 3.0中讀取和寫入Unicode 922
在Python 3.0中處理BOM 924
Python 2.6中的Unicode檔案 927
Python 3.0中其他字串工具的變化 927
re模式匹配模塊 927
Struct二進制資料模塊 928
pickle物件序列化模塊 931
XML決議工具 932
本章小結 935
本章習題 935
習題解答 936
第37章 管理屬性 938
為什么管理屬性 938
插入在屬性訪問時運行的代碼 939
特性 940
基礎知識 940
第一個例子 941
計算的屬性 942
使用裝飾器撰寫特性 943
描述符 944
基礎知識 945
第一個示例 947
計算的屬性 949
在描述符中使用狀態資訊 950
特性和描述符是如何相關的 952
__getattr__和__getattribute__ 953
基礎知識 954
第一個示例 956
計算屬性 958
__getattr__和__getattribute__比較 959
管理技術比較 960
攔截內置操作屬性 963
重訪基于委托的Manager 967
示例:屬性驗證 970
使用特性來驗證 971
使用描述符驗證 973
使用__getattr__來驗證 974
使用__getattribute__驗證 976
本章小結 977
本章習題 977
習題解答 977
第38章 裝飾器 979
什么是裝飾器 979
管理呼叫和實體 980
管理函式和類 980
使用和定義裝飾器 981
為什么使用裝飾器 981
基礎知識 982
函式裝飾器 982
類裝飾器 986
裝飾器嵌套 988
裝飾器引數 990
裝飾器管理函式和類 991
撰寫函式裝飾器 991
跟蹤呼叫 992
狀態資訊保持選項 993
類錯誤之一:裝飾類方法 997
計時呼叫 1002
添加裝飾器引數 1004
撰寫類裝飾器 1007
單體類 1007
跟蹤物件介面 1009
類錯誤之二:保持多個實體 1012
裝飾器與管理器函式的關系 1013
為什么使用裝飾器(重訪) 1015
直接管理函式和類 1016
示例:“私有”和“公有”屬性 1018
實作私有屬性 1019
實作細節之一 1021
公有宣告的泛化 1022
實作細節之二 1024
開放問題 1025
Python不是關于控制 1029
示例:驗證函式引數 1030
目標 1030
針對位置引數的一個基本范圍測驗裝飾器 1031
針對關鍵字和默認泛化 1033
實作細節 1036
開放問題 1038
裝飾器引數 VS 函式注解 1039
其他應用程式:型別測驗 1041
本章小結 1042
本章習題 1042
習題解答 1043
第39章 元類 1046
要么是元類,要么不是元類 1046
提高魔力層次 1047
“輔助”函式的缺點 1049
元類與類裝飾器的關系:第一回合 1051
元類模型 1053
類是型別的實體 1053
元類是Type的子類 1055
Class陳述句協議 1056
宣告元類 1057
撰寫元類 1058
基本元類 1058
定制構建和初始化 1059
其他元類編程技巧 1060
實體與繼承的關系 1063
示例:向類添加方法 1064
手動擴展 1064
基于元類的擴展 1065
元類與類裝飾器的關系:第二回合 1067
示例:對方法應用裝飾器 1070
用裝飾器手動跟蹤 1070
用元類和裝飾器跟蹤 1071
把任何裝飾器應用于方法 1073
元類與類裝飾器的關系:第三回合 1074
“可選的”語言功能 1076
本章小結 1078
本章習題 1078
習題解答 1078
第九部分 附錄注2
附錄A 安裝和配置 1083
附錄B 各部分練習題的解答 1093

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/82456.html

標籤:Python

上一篇:PyQt5制作一個爬蟲小工具,爬取雪球網上市公司的財務資料

下一篇:QT c++ 如何獲得外部程式視窗的坐標

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more