Python王者歸來(簡體書)
商品資訊
ISBN13:9787302513346
出版社:清華大學出版社(大陸)
作者:洪錦魁
出版日:2019/05/01
裝訂/頁數:平裝/501頁
規格:26cm*19cm (高/寬)
版次:一版
商品簡介
目次
商品簡介
Python 的豐富模塊(module)以及廣泛的應用範圍,使 Python 成為當下最重要的計算機語言之一, 本書嘗試將所有常用模塊與應用分門別類組織起來,相信只要讀者遵循本書實例,一定可以輕鬆學會 Python 語法與應用,逐步向 Python 高手之路邁進,這也是撰寫本書的目的。 本書以約 800 個程序實例講解了:完整的 Python 語法,Python 的輸入與輸出,Python 的數據型態, 列表(list)、元組(tuple)、字典(dict)、集合(set),函數設計,類別設計,使用系統與外部模塊(module), 設計自己的模塊(module),文件壓縮與解壓縮,程序除錯與異常處理,文件讀寫與目錄管理,正則表達 式(Regular Expression)與文字探勘,剪貼簿(clipboard)、Word、PDF 文件處理,Excel、CSV、Json 文 件處理,圖表繪製,電子郵件與簡訊,鼠標與鍵盤控制,人臉識別系統,QR code 製作,多任務與多線程, 動畫、音效、遊戲設計,網絡爬蟲與偽裝瀏覽器,圖像處理與文字辨識,設計桃園機場出入境人臉識別系統…… 前 16 章的內容已經足夠讓你打好 Python 基礎了,如果有興趣繼續鑽研,則邁向 Python 高手之路。為 了提升閱讀體驗,本書為彩色印刷,在圖書結構、案例選擇以及代碼樣式上都進行了細心設計,力爭呈現 給讀者一本與眾不同的編程書。 本書適合所有對 Python 編程感興趣的讀者,甚至適合設計師等編程基礎薄弱的崗位作為編程入門指導, 同時也可以作為社會培訓教材。
目次
目錄
第1章基本觀念
1-1認識Python2
1-2Python的起源2
1-3Python語言發展史3
1-4Python的應用範圍4
1-5跨平臺的程序語言4
1-6系統的安裝與執行4
1-6-1在Windows啟動與執行Python 4
1-6-2在Mac OS啟動與執行Python5
1-7Python 2與Python 3不相容的驗證5
1-8文件的建立、存儲、執行與打開5
1-8-1文件的建立6
1-8-2文件的存儲6
1-8-3文件的執行6
1-8-4打開文件6
1-9程序注釋7
1-9-1注釋符號#7
1-9-2三個單引號或雙引號7
第2章認識變量與基本數學運算
2-1用Python做計算9
2-2認識變量9
2-3認識程序的意義10
2-4認識注釋的意義11
2-5Python變量與其他程序語言的差異11
2-6變量的命名原則11
2-7基本數學運算13
2-7-1四則運算13
2-7-2餘數和整除13
2-7-3次方13
2-7-4Python語言控制運算的優先級13
2-8賦值運算符14
2-9Python等號的多重指定使用14
2-10刪除變量14
2-11Python的斷行15
2-11-1一行有多個語句15
2-11-2將一個語句分成多行15
第3章Python的基本數據類型
3-1type( )函數17
3-2數值數據類型17
3-2-1整數與浮點數的運算17
3-2-22進位整數與函數bin( )18
3-2-38進位整數18
3-2-416進位整數18
3-2-5強制數據類型的轉換19
3-2-6數值運算常用的函數19
3-3布爾值數據類型20
3-4字符串數據類型20
3-4-1字符串的連接21
3-4-2處理多於一行的字符串21
3-4-3逸出字符22
3-4-4強制轉換為字符串22
3-4-5將字符串轉換為整數23
3-4-6字符串數據的轉換23
3-4-7字符串與整數相乘產生字符串
複製效果23
3-4-8聰明地使用字符串加法和換行
字符23
3-4-9字符串前加r24
習題24
第4章基本輸入與輸出
4-1Python的輔助說明help( )26
4-2格式化輸出數據使用print( )26
4-2-1函數print( )的基本語法26
4-2-2格式化print( )輸出27
4-2-3精准控制格式化的輸出28
4-2-4format( )函數29
4-2-5字符串輸出與基本排版的應用29
4-2-6一個無聊的操作29
4-3輸出數據到文件30
4-3-1打開一個文件open( )30
4-3-2使用print( )函數輸出數據到
文件31
4-4數據輸入input( )31
4-5列出所有內置函數dir( )32
習題33
第5章程序的流程控制使用if語句
5-1關係運算符35
5-2邏輯運算符35
5-3if語句36
5-4if … else語句37
5-5if … elif …else語句38
5-6嵌套的if語句40
5-7尚未設定的變量值None40
習題40
第6章列表(List)
6-1認識列表43
6-1-1列表的基本定義43
6-1-2讀取列表元素44
6-1-3列表切片(list slices)44
6-1-4列表索引值是-145
6-1-5列表統計資料、最大值max( )、
最小值min( )、總和sum( )46
6-1-6列表個數len( )46
6-1-7更改列表元素的內容47
6-1-8列表的相加47
6-1-9列表乘以一個數字48
6-1-10列表元素的加法運作48
6-1-11刪除列表元素48
6-1-12列表為空列表的判斷49
6-1-13刪除列表50
6-2Python簡單的面向對象觀念50
6-2-1字符串的方法50
6-2-2更改字符串大小寫51
6-2-3dir( )獲得系統內部對象的方法51
6-3獲得列表的方法53
6-4增加與刪除列表元素53
6-4-1在列表末端增加元素append( )53
6-4-2插入列表元素insert( )54
6-4-3刪除列表元素pop( )54
6-4-4刪除指定的元素remove( )54
6-5列表的排序55
6-5-1顛倒排序reverse( )55
6-5-2sort( )排序55
6-5-3sorted( )排序56
6-6進階列表操作57
6-6-1index( )57
6-6-2count( )58
6-6-3列表元素的組合join( )58
6-7列表內含列表58
6-7-1再談append( )59
6-7-2extend( )60
6-8列表的複製60
6-8-1列表的深複製 - deep copy60
6-8-2地址的觀念61
6-8-3列表的淺複製 - shallow copy62
6-9再談字符串62
6-9-1字符串的索引62
6-9-2字符串切片63
6-9-3函數或方法63
6-9-4將字符串轉成列表63
6-9-5切片賦值的應用63
6-9-6使用split( )處理字符串64
6-10in和not in表達式64
6-11is或is not表達式65
6-11-1整數變量在內存地址的觀察65
6-11-2將is和is not表達式應用在整數
變量66
6-11-3將is和is not表達式應用在列表
變量66
6-12enumerate對象66
習題67
第7章循環設計
7-1基本for循環69
7-1-1 for循環基本運作69
7-1-2如果程序代碼區塊只有一行70
7-1-3 有多行的程序代碼區塊70
7-1-4將for循環應用在列表區間
元素71
7-1-5 將for循環應用在數據類別
的判斷71
7-1-6 刪除列表內所有元素71
7-2range( )函數72
7-2-1 只有一個參數的range( )函數
的應用72
7-2-2 有2個參數的range( )函數73
7-2-3 有3個參數的range( )函數73
7-2-4 活用range( )應用73
7-2-5 列表生成(list generator)的
應用 74
7-2-6 打印含列表元素的列表75
7-2-7 生成含有條件的列表75
7-3進階的for循環應用75
7-3-1嵌套for循環75
7-3-2強制離開for循環 - break
指令76
7-3-3for循環暫時停止不往下執行 –
continue指令77
7-3-4for … else循環79
7-4while循環80
7-4-1基本while循環80
7-4-2嵌套while循環81
7-4-3強制離開while循環 - break
指令82
7-4-4while循環暫時停止不往下
執行 – continue指令82
7-4-5while循環條件表達式與對象83
7-4-6pass84
7-5enumerate對象使用for循環解析84
習題85
第8章元組(Tuple)
8-1元組的定義87
8-2讀取元組元素87
8-3遍歷所有元組元素88
8-4修改元組內容產生錯誤的實例88
8-5可以使用全新定義方式修改元組元素88
8-6元組切片(tuple slices)89
8-7方法與函數89
8-8列表與元組數據互換90
8-9其他常用的元組方法90
8-10enumerate對象使用在元組91
8-11zip( )91
8-12元組的功能92
習題92
第9章字典(Dict)
9-1字典基本操作94
9-1-1定義字典 94
9-1-2列出字典元素的值94
9-1-3增加字典元素95
9-1-4更改字典元素內容96
9-1-5刪除字典特定元素96
9-1-6刪除字典所有元素97
9-1-7刪除字典97
9-1-8建立一個空字典97
9-1-9字典的複製97
9-1-10取得字典元素數量98
9-1-11驗證元素是否存在98
9-1-12設計字典的可讀性技巧99
9-2遍歷字典99
9-2-1遍歷字典的鍵-值99
9-2-2遍歷字典的鍵100
9-2-3排序與遍歷字典101
9-2-4遍歷字典的值101
9-3建立字典列表102
9-4字典內含列表元素103
9-5字典內含字典104
9-6while循環在字典的應用104
9-7字典常用的函數和方法105
9-7-1len( )105
9-7-2fromkeys( )105
9-7-3get( )106
9-7-4setdefault( )106
9-7-5pop( )107
習題108
第10章集合(Set)
10-1建立集合110
10-1-1使用大括號建立集合110
10-1-2使用set( )函數定義集合111
10-1-3大數據與集合的應用112
10-2集合的操作112
10-2-1交集(intersection)112
10-2-2並集(union)113
10-2-3差集(difference)114
10-2-4對稱差集(symmetric
difference)114
10-2-5等於115
10-2-6不等於115
10-2-7是成員in116
10-2-8不是成員not in116
10-3適用集合的方法116
10-3-1add( )117
10-3-2copy( )117
10-3-3remove( )117
10-3-4discard( )118
10-3-5pop( )119
10-3-6clear( )119
10-3-7isdisjoint( )119
10-3-8issubset( )120
10-3-9issuperset( )120
10-3-10intersection_update( )120
10-3-11update( )121
10-3-12difference_update( )121
10-3-13symmetric_difference_
update( )122
10-4適用集合的基本函數操作122
10-4-1max( )/min( )/sum( )122
10-4-2len( )123
10-4-3sorted( )123
10-4-4enumerate( )123
10-5凍結集合frozenset124
習題125
第11章函數設計
11-1Python函數基本觀念127
11-1-1函數的定義127
11-1-2無參數無返回值的函數128
11-1-3在Python Shell執行函數128
11-2函數的參數設計129
11-2-1傳遞一個參數129
11-2-2多個參數傳遞130
11-2-3關鍵詞參數參數名稱=值131
11-2-4參數默認值的處理131
11-3函數返回值132
11-3-1返回None132
11-3-2簡單返回數值數據133
11-3-3返回多個數據的應用134
11-3-4簡單返回字符串數據134
11-3-5再談參數默認值135
11-3-6函數返回字典數據135
11-3-7將循環應用在建立VIP會員
? 字典136
11-4調用函數時參數是列表137
11-4-1基本傳遞列表參數的應用137
11-4-2在函數內修訂列表的內容137
11-4-3使用副本傳遞列表138
11-5傳遞任意數量的參數140
11-5-1基本傳遞處理任意數量的
? 參數140
11-5-2設計含有一般參數與任意
? 數量參數的函數140
11-5-3設計含有一般參數與任意
? 數量的關鍵詞參數141
11-6遞歸式函數設計recursive141
11-7局部變量與全局變量142
11-7-1全局變量可以在所有函數
? 使用143
11-7-2局部變量與全局變量使用
? 相同的名稱143
11-7-3程序設計需注意事項143
11-8匿名函數lambda144
11-8-1匿名函數lambda的語法144
11-8-2匿名函數使用與filter( )145
11-8-3匿名函數使用與map( )146
11-9pass與函數146
11-10type關鍵詞應用在函數146
習題147
第12章類-面向對象的程序設計
12-1類的定義與使用149
12-1-1定義類149
12-1-2操作類的屬性與方法149
12-1-3類的構造函數150
12-1-4屬性初始值的設定151
12-2類的訪問權限――封裝
? (encapsulation)152
12-2-1私有屬性152
12-2-2私有方法153
12-3類的繼承154
12-3-1衍生類繼承基類的實例應用155
12-3-2如何取得基類的私有屬性155
12-3-3衍生類與基類有相同名稱的
? 屬性155
12-3-4衍生類與基類有相同名稱的
? 方法156
12-3-5衍生類引用基類的方法157
12-3-6三代同堂的類與取得基類的
? 屬性super( )157
12-3-7兄弟類屬性的取得159
12-4多型(polymorphism)159
12-5多重繼承161
12-6type與instance162
12-6-1type( )162
12-6-2isinstance( )163
12-7特殊屬性163
12-7-1文檔字符串__doc__163
12-7-2__name__屬性164
12-8類的特殊方法165
12-8-1__str__( )方法165
12-8-2__repr__( )方法166
12-8-3__iter__( )方法166
習題166
第13章設計與應用模塊
13-1將自建的函數存儲在模塊中169
13-1-1先前準備工作169
13-1-2建立函數內容的模塊169
13-2應用自己建立的函數模塊170
13-2-1import模塊名稱170
13-2-2導入模塊內特定單一函數170
13-2-3導入模塊內多個函數171
13-2-4導入模塊所有函數171
13-2-5使用as給函數指定替代
? 名稱171
13-2-6使用as給模塊指定替代名稱171
13-3將自建的類存儲在模塊內172
13-3-1先前準備工作172
13-3-2建立類別內容的模塊173
13-4應用自己建立的類模塊173
13-4-1導入模塊的單一類173
13-4-2導入模塊的多個類174
13-4-3導入模塊內所有類174
13-4-4import 模塊名稱174
13-4-5模塊內導入另一個模塊的類175
13-5隨機數random模塊176
13-5-1randint( )176
13-5-2choice( )178
13-5-3shuffle( )178
13-6時間time模塊178
13-6-1time( )178
13-6-2sleep( )179
13-6-3asctime( )180
13-6-4localtime( )180
13-7系統sys模塊180
13-7-1version屬性180
13-7-2stdin對象181
13-7-3stdout對象181
13-8keyword模塊182
13-8-1kwlist屬性182
13-8-2iskeyword( )182
習題182
第14章文件的讀取與寫入
14-1文件夾與文件路徑185
14-1-1絕對路徑與相對路徑185
14-1-2os模塊與os.path模塊185
14-1-3取得當前工作目錄
? os.getcwd( )185
14-1-4取得絕對路徑os.path.abspath186
14-1-5傳回特定路段相對路徑
? os.path.relpath( )186
14-1-6檢查路徑方法
? exist/isabs/isdir/isfile186
14-1-7文件與目錄的操作
? mkdir/rmdir/remove/chdir187
14-1-8傳回文件路徑os.path.join( )189
14-1-9獲得特定文件的大小
? os.path.getsize( )189
14-1-10獲得特定工作目錄的內容
? ?os.listdir( )190
14-1-11獲得特定工作目錄內容glob190
14-1-12遍歷目錄樹os.walk( )191
14-2讀取文件192
14-2-1讀取整個文件read( )192
14-2-2with關鍵詞192
14-2-3逐行讀取文件內容193
14-2-4逐行讀取使用readlines( )194
14-2-5數據組合194
14-2-6字符串的替換195
14-2-7數據的搜尋195
14-2-8數據搜尋使用find( )195
14-3寫入文件196
14-3-1將執行結果寫入空的文件內196
14-3-2寫入數值資料197
14-3-3輸出多行數據的實例197
14-3-4建立附加文件198
14-4shutil模塊199
14-4-1文件的複製copy( )199
14-4-2目錄的複製copytree( )199
14-4-3文件的移動move( )200
14-4-4文件名的更改move( )200
14-4-5目錄的移動move( )200
14-4-6目錄的更改名稱move( )201
14-4-7刪除底下有數據的目錄
? rmtree( )201
14-4-8安全刪除文件或目錄
? send2trash( )201
14-5文件壓縮與解壓縮zipFile202
14-5-1執行文件或目錄的壓縮202
14-5-2讀取zip文件203
14-5-3解壓縮zip文件203
14-6認識編碼格式encode203
14-6-1中文Windows操作系統記事本
? 默認的編碼 203
14-6-2utf-8編碼204
14-6-3認識utf-8編碼的BOM205
14-7剪貼板的應用206
習題207
第15章程序除錯與異常處理
15-1程序異常209
15-1-1一個除數為0的錯誤209
15-1-2撰寫異常處理程序
? try - except209
15-1-3try - except - else210
15-1-4找不到文件的錯誤
? FileNotFoundError211
15-1-5分析單一文件的字數211
15-1-6分析多個文件的字數212
15-2設計多組異常處理程序212
15-2-1常見的異常對象213
15-2-2設計捕捉多個異常213
15-2-3使用一個except捕捉多個
? 異常214
15-2-4處理異常但是使用Python
? 內置的錯誤信息215
15-2-5捕捉所有異常215
15-3丟出異常215
15-4記錄Traceback字符串216
15-5finally218
15-6程序斷言assert218
15-6-1設計斷言218
15-6-2停用斷言220
15-7程序日誌模塊logging221
15-7-1logging模塊221
15-7-2logging的等級221
15-7-3格式化logging信息輸出
? format222
15-7-4時間信息asctime222
15-7-5format內的message223
15-7-6列出levelname223
15-7-7使用logging列出變量
? 變化的應用223
15-7-8正式追蹤factorial
? 數值的應用224
15-7-9將程序日誌logging輸出到
? 文件225
15-7-10隱藏程序日誌logging的DEBUG
? 等級使用CRITICAL225
15-7-11停用程序日誌logging225
15-8程序除錯的典故226
習題226
第16章正則表達式(Regular Expression)
16-1使用Python硬功夫搜尋文字228
16-2正則表達式的基礎230
16-2-1建立搜尋字符串模式230
16-2-2使用re.compile( )建立
? Regex對象230
16-2-3搜尋對象230
16-2-4findall( )231
16-2-5再看re模塊231
16-2-6再看正則表達式232
16-3更多搜尋比對模式233
16-3-1使用小括號分組233
16-3-2groups( )234
16-3-3區域號碼是在小括號內234
16-3-4使用管道|234
16-3-5多個分組的管道搜尋235
16-3-6使用?號做搜尋236
16-3-7使用*號做搜尋236
16-3-8使用+號做搜尋236
16-3-9搜尋時忽略大小寫237
16-4貪婪與非貪婪搜尋237
16-4-1搜尋時使用大括號設定比對
? 次數237
16-4-2貪婪與非貪婪搜尋238
16-5正則表達式的特殊字符239
16-5-1特殊字符表239
16-5-2字符分類240
16-5-3字符分類的^字符240
16-5-4正則表示法的^字符241
16-5-5正則表示法的$字符241
16-5-6單一字符使用通配符“.”242
16-5-7所有字符使用通配符“.*”242
16-5-8換行字符的處理242
16-6MatchObject對象243
16-6-1re.match( )243
16-6-2MatchObject幾個重要的
? 方法244
16-7搶救CIA情報員-sub( )方法244
16-7-1一般的應用245
16-7-2搶救CIA情報員245
16-8處理比較複雜的正則表示法246
16-8-1將正則表達式拆成多行
? 字符串246
16-8-2re.VERBOSE246
16-8-3電子郵件地址的搜尋247
16-8-4re.IGNORECASE/re.
? DOTALL/re.VERBOSE247
習題248
第17章使用Python處理Word文件
17-1從Python看Word文件結構250
17-2讀取Word文件內容250
17-2-1建立docx對象250
17-2-2獲得Paragraph和Run數量250
17-2-3列出Paragraph內容250
17-2-4列出Paragraph內的Run內容251
17-2-5讀取和打印文件的應用251
17-2-6讀取文件與適度編排輸出252
17-3存儲文件252
17-4建立文件內容253
17-4-1建立標題253
17-4-2建立段落Paragraph內容254
17-4-3建立Run內容254
17-4-4強制換頁輸出255
17-4-5插入圖片255
17-5建立表格256
17-5-1建立表格內容256
17-5-2插入表格列256
17-5-3計算表格的rows和
? cols的長度257
17-5-4打印表格內容257
17-5-5表格的樣式258
17-6Paragraph樣式259
17-7Run的樣式259
17-8綜合應用 - 搶救CIA情報員260
習題260
第18章使用Python處理PDF文件
18-1打開PDF文件262
18-2獲得PDF文件的頁數262
18-3讀取PDF頁面內容262
18-4檢查PDF是否被加密263
18-5解密PDF文件263
18-6建立新的PDF文件264
18-7PDF頁面的旋轉264
18-8加密PDF文件265
18-9處理PDF頁面重疊266
18-10破解密碼的程序設計267
習題268
第19章使用Python處理Excel文件
19-1認識Excel窗口270
19-2讀取Excel文件270
19-2-1打開文件270
19-2-2取得工作表worksheet名稱271
19-2-3設定當前工作的工作表271
19-2-4取得工作表內容271
19-2-5取得工作表內容的欄數和
? 行數272
19-2-6取得單元格內容273
19-2-7工作表對象ws的rows和
? columns273
19-2-8用整數取代域名275
19-2-9切片275
19-3寫入Excel文件276
19-3-1建立Excel文件276
19-3-2存儲Excel文件276
19-3-3複製Excel文件276
19-3-4建立工作表277
19-3-5刪除工作表278
19-3-6寫入單元格279
19-3-7將列表數據寫進單元格279
19-4設定單元格的字體280
19-4-1Font( )280
19-4-2字體色彩的設定280
19-5數學公式的使用281
19-6設定單元格的高度和寬度282
19-7單元格對齊方式282
19-8合併與取消合並單元格283
19-8-1合並單元格283
19-8-2取消合並單元格283
19-9建立圖表283
19-9-1柱形圖284
19-9-23D柱形圖285
19-9-3餅圖285
19-9-43D餅圖286
習題287
第20章使用Python處理CSV文件
20-1建立一個CSV文件289
20-2用記事本打開CSV文件289
20-3csv模塊290
20-4讀取CSV文件290
20-4-1使用open( )打開CSV文件290
20-4-2建立Reader對象290
20-4-3用循環列出Reader對象數據291
20-4-4用循環列出列表內容291
20-4-5使用列表索引讀取CSV內容291
20-4-6DictReader( )292
20-5寫入CSV文件293
20-5-1打開欲寫入的文件open( )與
? 關閉文件close( )293
20-5-2建立writer對象293
20-5-3輸出列表writerow( )293
20-5-4delimiter關鍵詞294
20-5-5寫入字典數據DictWriter( )295
20-6後記295
習題296
第21章網絡爬蟲
21-1上網不再需要瀏覽器了298
21-2下載網頁信息使用requests
?模塊298
21-2-1下載網頁使用requests.get( )
? 方法298
21-2-2認識Response對象299
21-2-3搜索頁特定內容300
21-2-4下載網頁失敗的異常處理300
21-2-5網頁服務器阻擋造成讀取
? 錯誤301
21-2-6爬蟲程序偽裝成瀏覽器302
21-2-7存儲下載的網頁302
21-3檢視網頁原始文件303
21-3-1建議閱讀書籍303
21-3-2以Microsoft 瀏覽器為實例303
21-3-3源文件的重點304
21-4解析網頁使用BeautifulSoup
?模塊306
21-4-1建立BeautifulSoup對象306
21-4-2基本HTML文件解析――
? 從簡單開始306
21-4-3頁標題title屬性308
21-4-4去除卷標傳回文字text屬性308
21-4-5傳回所找尋的第一個
? 符合的標簽find( )308
21-4-6傳回所找尋的所有符合的標簽
? find_all( )308
21-4-7認識HTML元素上下文
? 屬性與getText( )309
21-4-8select( )310
21-4-9卷標字符串的get( )312
21-5網絡爬蟲實戰312
21-6命令行窗口316
習題316
第22章Selenium網絡爬蟲的王者
22-1順利使用Selenium工具前的安裝
?工作318
22-1-1安裝Selenium318
22-1-2安裝瀏覽器318
22-1-3錯誤的實例318
22-1-4驅動程序的安裝319
22-2獲得webdriver的對象類型320
22-2-1以Firefox瀏覽器為實例320
22-2-2以Chrome瀏覽器為實例320
22-3提取網頁321
22-4尋找HTML文件的元素322
22-5用Python控制點選超鏈接324
22-6用Python填寫窗體和送出324
22-7用Python處理使用網頁的特殊
?按鍵325
22-8用Python處理瀏覽器運作326
習題326
第23章數據圖表的設計
23-1繪製簡單的折線圖328
23-1-1顯示繪製的圖形show( )328
23-1-2畫線plot( )328
23-1-3線條寬度linewidth328
23-1-4標題的顯示329
23-1-5坐標軸刻度的設定330
23-1-6修訂圖表的起始值330
23-1-7多組數據的應用331
23-1-8線條色彩與樣式331
23-1-9刻度設計332
23-1-10圖例legend( )334
23-1-11保存圖片文件336
23-2繪製散點圖scatter( )336
23-2-1基本散點圖的繪製336
23-2-2繪製系列點337
23-2-3設定繪圖區間337
23-3Numpy模塊338
23-3-1建立一個簡單的數組
? linspace( )和arange( )338
23-3-2繪製波形339
23-3-3建立不等寬度的散點圖339
23-3-4色彩映射color mapping340
23-4隨機數的應用342
23-4-1一個簡單的應用342
23-4-2隨機數的移動342
23-4-3隱藏坐標343
23-5繪製多個圖表344
23-5-1一個程序有多個圖表344
23-5-2含有子圖的圖表344
23-6直方圖的製作bar( )345
23-7使用CSV文件繪製圖表347
23-7-1臺北2017年1月氣象資料347
23-7-2列出標題數據347
23-7-3讀取最高溫與最低溫348
23-7-4繪製最高溫348
23-7-5設定繪圖區大小349
23-7-6日期格式349
23-7-7在圖表增加日期刻度350
23-7-8日期位置的旋轉 350
23-7-9繪製最高溫與最低溫351
23-7-10填滿最高溫與最低溫
? 之間的區域352
23-7-11再談軸刻度352
習題352
第24章JSON資料
24-1認識json數據格式355
24-1-1對象(object)355
24-1-2數組(array)355
24-1-3json數據存在方式356
24-2將Python應用在json字符串形式
?數據356
24-2-1使用dumps( )將Python數據
? 轉成json格式356
24-2-2dumps( )的sort_keys參數357
24-2-3dumps( )的indent參數357
24-2-4使用loads( )將json格式數據
? 轉成Python的數據358
24-3將Python應用在json文件358
24-3-1使用dump( )將Python數據
? 轉成json文件358
24-3-2使用load( )讀取json文件359
24-4簡單的json文件應用359
24-5世界人口數據的json文件360
24-5-1認識人口統計的json文件360
24-5-2認識pygal.maps.world的地區代碼
? 信息361
習題362
第25章用Python傳送手機短信
25-1安裝twilio模塊364
25-2到Twilio公司註冊賬號364
25-2-1申請賬號364
25-2-2獲得Account SID365
25-2-3獲得Auth TOKEN365
25-2-4獲得Twilio Number366
25-2-5設定Twilio使用地區367
25-3使用Python程序設計發送短信367
習題368
第26章Python與SQLite數據庫
26-1SQLite基本觀念370
26-2安裝SQLite數據庫370
26-3SQLite數據類型370
26-4建立SQLite數據庫表371
26-5增加SQLite數據庫表記錄372
26-6查詢SQLite數據庫表373
26-7更新SQLite數據庫表記錄375
26-8刪除SQLite數據庫表記錄375
習題376
第27章用Python處理圖像文件
27-1認識Pillow模塊的RGBA378
27-1-1getrgb( )378
27-1-2getcolor( )378
27-2Pillow模塊的盒子元組
?(Box tuple)378
27-3圖像的基本操作379
27-3-1打開圖像對象379
27-3-2圖像大小屬性379
27-3-3取得圖像對象文件名380
27-3-4取得圖像對象的文件格式380
27-3-5存儲文件380
27-3-6建立新的圖像對象380
27-4圖像的編輯381
27-4-1更改圖像大小381
27-4-2圖像的旋轉382
27-4-3圖像的翻轉383
27-4-4圖像像素的編輯383
27-5裁切、複製與圖像合成384
27-5-1裁切圖像384
27-5-2複製圖像384
27-5-3圖像合成385
27-5-4將裁切圖片填滿圖像區間385
27-6在圖像內繪製圖案386
27-6-1繪製點386
27-6-2繪製線條386
27-6-3繪製圓或橢圓386
27-6-4繪製矩形387
27-6-5繪製多邊形387
27-7在圖像內填寫文字387
27-8建立QR code389
習題389
第28章用Python控制鼠標、屏幕與鍵盤
28-1鼠標的控制392
28-1-1提醒事項392
28-1-2屏幕坐標 392
28-1-3獲得鼠標光標位置393
28-1-4絕對位置移動鼠標393
28-1-5相對位置移動鼠標394
28-1-6鍵盤Ctrl-C鍵394
28-1-7讓鼠標位置的輸出在固定
? 位置395
28-1-8單擊鼠標click( )396
28-1-9按住與放開鼠標mouseDown( )和
? mouseUp( )397
28-1-10拖曳鼠標398
28-1-11窗口滾動scroll( )398
28-2屏幕的處理399
28-2-1截取屏幕畫面399
28-2-2裁切屏幕圖形399
28-2-3獲得圖像某位置的像素
? 色彩400
28-2-4色彩的比對400
28-3使用Python控制鍵盤401
28-3-1基本傳送文字401
28-3-2鍵盤按鍵名稱401
28-3-3按下與放開按鍵403
28-3-4快速組合鍵403
28-4網絡窗體的填寫404
習題406
第29章文字識別系統
29-1安裝Tesseract OCR408
29-2安裝pytesseract模塊409
29-3文字識別程序設計409
29-4識別繁體中文410
29-5識別簡體中文411
習題412
第30章多任務與多線程
30-1時間模塊datetime414
30-1-1datetime模塊的數據類型
? datetime414
30-1-2設定特定時間414
30-1-3一段時間timedelta415
30-1-4日期與一段時間相加的應用415
30-1-5將datetime對象轉成
? 字符串416
30-2多線程416
30-2-1一個睡眠程序設計 416
30-2-2建立一個簡單的多線程417
30-2-3參數的傳送418
30-2-4線程的命名與取得418
30-2-5Daemon線程419
30-2-6堵塞主線程join( )420
30-2-7檢查子線程是否仍在
? 工作isAlive( )421
30-2-8瞭解正在工作的線程422
30-2-9自行定義線程和run( )方法423
30-2-10資源鎖定與解鎖
? ?Threading.Lock424
30-2-11產生鎖死426
30-2-12資源鎖定與解鎖
? ?Threading.RLock426
30-2-13高級鎖定threading.
? ?Condition426
30-2-14queue427
30-2-15Semaphore429
30-2-16Barrier429
30-2-17Event430
30-3啟動其他應用程序subprocess
?模塊431
30-3-1Popen( )431
30-3-2poll( )432
30-3-3wait( )432
30-3-4Popen( )方法參數的傳遞433
30-3-5使用默認應用程序打開文件433
30-3-6subprocess.run( )434
習題435
第31章海龜繪圖
31-1基本觀念與安裝模塊437
31-2繪圖初體驗437
31-3繪圖基本練習437
31-4控制畫筆色彩與線條粗細439
31-5繪製圓或弧形440
31-6認識與操作海龜圖像441
31-6-1隱藏與顯示海龜441
31-6-2認識所有的海龜光標442
31-7填滿顏色442
31-8顏色動畫的設計443
31-9繪圖窗口的相關知識444
31-9-1更改海龜窗口標題與背景
顏色444
31-9-2取得/更改窗口寬度與高度445
31-9-3重設世界坐標445
31-10文字的輸出445
31-11鼠標與鍵盤信號446
31-11-1onclick( )446
31-11-2onkey( )和listen( )447
習題447
第32章動畫與遊戲
32-1建立tkinter對象450
32-2建立按鈕450
32-3繪圖功能450
32-3-1建立畫布450
32-3-2繪線條create_line( )450
32-3-3繪矩形create_rectangle( )451
32-3-4繪圓弧create_arc( )452
32-3-5繪製圓或橢圓create_oval( )453
32-3-6繪製多邊形create_polygon( )453
32-3-7輸出文字create_text( )454
32-3-8圖像的輸出create_image( )454
32-3-9tk窗口標題的設定title( )455
32-3-10更改畫布背景顏色455
32-4滾動條控制畫布背景顏色455
32-5動畫設計456
32-5-1基本動畫456
32-5-2多個球移動的設計457
32-5-3將隨機數應用在多個球體的
? 移動457
32-5-4信息綁定458
32-6彈球遊戲設計459
32-6-1設計球往下移動459
32-6-2設計讓球上下反彈459
32-6-3設計讓球在畫布四面反彈460
32-6-4建立球拍461
32-6-5設計球拍移動461
32-6-6球拍與球碰撞的處理462
32-6-7完整的遊戲464
習題465
第33章聲音的控制
33-1安裝與導入467
33-2一般音效的播放Sound( )467
33-3播放音樂文件music( )468
33-4背景音樂469
33-5mp3音樂播放器470
習題471
第34章人臉識別系統設計
34-1安裝OpenCV473
34-1-1安裝OpenCV473
34-1-2安裝Numpy473
34-2讀取和顯示圖像473
34-2-1建立OpenCV圖像窗口473
34-2-2讀取圖像474
34-2-3使用OpenCV窗口顯示圖像474
34-2-4關閉OpenCV窗口474
34-2-5時間等待474
34-2-6存儲圖像475
34-3OpenCV的繪圖功能476
34-4人臉識別477
34-4-1下載人臉識別特徵文件477
34-4-2臉部識別478
34-4-3將臉部存檔479
34-4-4讀取攝像頭所拍的畫面480
34-4-5臉形比對481
34-5設計桃園國際機場的出入境人臉識別
?系統482
習題483
附錄A安裝Python
A-1Windows操作系統的安裝
Python版485
A-2Mac OS操作系統的安裝
Python版486
附錄B安裝第三方模塊
B-1pip工具489
B-1-1Windows系統Python 3.6.2安裝
在C:\489
B-1-2Python 3.6.2安裝在硬盤
更深層489
B-2啟動DOS與安裝模塊490
B-2-1DOS環境490
B-2-2DOS命令提示符490
B-3導入模塊安裝更新版模塊491
B-4安裝更新版模塊491
附錄C函數或方法索引表
(記錄所出現章節)493
附錄DRGB色彩表
第1章基本觀念
1-1認識Python2
1-2Python的起源2
1-3Python語言發展史3
1-4Python的應用範圍4
1-5跨平臺的程序語言4
1-6系統的安裝與執行4
1-6-1在Windows啟動與執行Python 4
1-6-2在Mac OS啟動與執行Python5
1-7Python 2與Python 3不相容的驗證5
1-8文件的建立、存儲、執行與打開5
1-8-1文件的建立6
1-8-2文件的存儲6
1-8-3文件的執行6
1-8-4打開文件6
1-9程序注釋7
1-9-1注釋符號#7
1-9-2三個單引號或雙引號7
第2章認識變量與基本數學運算
2-1用Python做計算9
2-2認識變量9
2-3認識程序的意義10
2-4認識注釋的意義11
2-5Python變量與其他程序語言的差異11
2-6變量的命名原則11
2-7基本數學運算13
2-7-1四則運算13
2-7-2餘數和整除13
2-7-3次方13
2-7-4Python語言控制運算的優先級13
2-8賦值運算符14
2-9Python等號的多重指定使用14
2-10刪除變量14
2-11Python的斷行15
2-11-1一行有多個語句15
2-11-2將一個語句分成多行15
第3章Python的基本數據類型
3-1type( )函數17
3-2數值數據類型17
3-2-1整數與浮點數的運算17
3-2-22進位整數與函數bin( )18
3-2-38進位整數18
3-2-416進位整數18
3-2-5強制數據類型的轉換19
3-2-6數值運算常用的函數19
3-3布爾值數據類型20
3-4字符串數據類型20
3-4-1字符串的連接21
3-4-2處理多於一行的字符串21
3-4-3逸出字符22
3-4-4強制轉換為字符串22
3-4-5將字符串轉換為整數23
3-4-6字符串數據的轉換23
3-4-7字符串與整數相乘產生字符串
複製效果23
3-4-8聰明地使用字符串加法和換行
字符23
3-4-9字符串前加r24
習題24
第4章基本輸入與輸出
4-1Python的輔助說明help( )26
4-2格式化輸出數據使用print( )26
4-2-1函數print( )的基本語法26
4-2-2格式化print( )輸出27
4-2-3精准控制格式化的輸出28
4-2-4format( )函數29
4-2-5字符串輸出與基本排版的應用29
4-2-6一個無聊的操作29
4-3輸出數據到文件30
4-3-1打開一個文件open( )30
4-3-2使用print( )函數輸出數據到
文件31
4-4數據輸入input( )31
4-5列出所有內置函數dir( )32
習題33
第5章程序的流程控制使用if語句
5-1關係運算符35
5-2邏輯運算符35
5-3if語句36
5-4if … else語句37
5-5if … elif …else語句38
5-6嵌套的if語句40
5-7尚未設定的變量值None40
習題40
第6章列表(List)
6-1認識列表43
6-1-1列表的基本定義43
6-1-2讀取列表元素44
6-1-3列表切片(list slices)44
6-1-4列表索引值是-145
6-1-5列表統計資料、最大值max( )、
最小值min( )、總和sum( )46
6-1-6列表個數len( )46
6-1-7更改列表元素的內容47
6-1-8列表的相加47
6-1-9列表乘以一個數字48
6-1-10列表元素的加法運作48
6-1-11刪除列表元素48
6-1-12列表為空列表的判斷49
6-1-13刪除列表50
6-2Python簡單的面向對象觀念50
6-2-1字符串的方法50
6-2-2更改字符串大小寫51
6-2-3dir( )獲得系統內部對象的方法51
6-3獲得列表的方法53
6-4增加與刪除列表元素53
6-4-1在列表末端增加元素append( )53
6-4-2插入列表元素insert( )54
6-4-3刪除列表元素pop( )54
6-4-4刪除指定的元素remove( )54
6-5列表的排序55
6-5-1顛倒排序reverse( )55
6-5-2sort( )排序55
6-5-3sorted( )排序56
6-6進階列表操作57
6-6-1index( )57
6-6-2count( )58
6-6-3列表元素的組合join( )58
6-7列表內含列表58
6-7-1再談append( )59
6-7-2extend( )60
6-8列表的複製60
6-8-1列表的深複製 - deep copy60
6-8-2地址的觀念61
6-8-3列表的淺複製 - shallow copy62
6-9再談字符串62
6-9-1字符串的索引62
6-9-2字符串切片63
6-9-3函數或方法63
6-9-4將字符串轉成列表63
6-9-5切片賦值的應用63
6-9-6使用split( )處理字符串64
6-10in和not in表達式64
6-11is或is not表達式65
6-11-1整數變量在內存地址的觀察65
6-11-2將is和is not表達式應用在整數
變量66
6-11-3將is和is not表達式應用在列表
變量66
6-12enumerate對象66
習題67
第7章循環設計
7-1基本for循環69
7-1-1 for循環基本運作69
7-1-2如果程序代碼區塊只有一行70
7-1-3 有多行的程序代碼區塊70
7-1-4將for循環應用在列表區間
元素71
7-1-5 將for循環應用在數據類別
的判斷71
7-1-6 刪除列表內所有元素71
7-2range( )函數72
7-2-1 只有一個參數的range( )函數
的應用72
7-2-2 有2個參數的range( )函數73
7-2-3 有3個參數的range( )函數73
7-2-4 活用range( )應用73
7-2-5 列表生成(list generator)的
應用 74
7-2-6 打印含列表元素的列表75
7-2-7 生成含有條件的列表75
7-3進階的for循環應用75
7-3-1嵌套for循環75
7-3-2強制離開for循環 - break
指令76
7-3-3for循環暫時停止不往下執行 –
continue指令77
7-3-4for … else循環79
7-4while循環80
7-4-1基本while循環80
7-4-2嵌套while循環81
7-4-3強制離開while循環 - break
指令82
7-4-4while循環暫時停止不往下
執行 – continue指令82
7-4-5while循環條件表達式與對象83
7-4-6pass84
7-5enumerate對象使用for循環解析84
習題85
第8章元組(Tuple)
8-1元組的定義87
8-2讀取元組元素87
8-3遍歷所有元組元素88
8-4修改元組內容產生錯誤的實例88
8-5可以使用全新定義方式修改元組元素88
8-6元組切片(tuple slices)89
8-7方法與函數89
8-8列表與元組數據互換90
8-9其他常用的元組方法90
8-10enumerate對象使用在元組91
8-11zip( )91
8-12元組的功能92
習題92
第9章字典(Dict)
9-1字典基本操作94
9-1-1定義字典 94
9-1-2列出字典元素的值94
9-1-3增加字典元素95
9-1-4更改字典元素內容96
9-1-5刪除字典特定元素96
9-1-6刪除字典所有元素97
9-1-7刪除字典97
9-1-8建立一個空字典97
9-1-9字典的複製97
9-1-10取得字典元素數量98
9-1-11驗證元素是否存在98
9-1-12設計字典的可讀性技巧99
9-2遍歷字典99
9-2-1遍歷字典的鍵-值99
9-2-2遍歷字典的鍵100
9-2-3排序與遍歷字典101
9-2-4遍歷字典的值101
9-3建立字典列表102
9-4字典內含列表元素103
9-5字典內含字典104
9-6while循環在字典的應用104
9-7字典常用的函數和方法105
9-7-1len( )105
9-7-2fromkeys( )105
9-7-3get( )106
9-7-4setdefault( )106
9-7-5pop( )107
習題108
第10章集合(Set)
10-1建立集合110
10-1-1使用大括號建立集合110
10-1-2使用set( )函數定義集合111
10-1-3大數據與集合的應用112
10-2集合的操作112
10-2-1交集(intersection)112
10-2-2並集(union)113
10-2-3差集(difference)114
10-2-4對稱差集(symmetric
difference)114
10-2-5等於115
10-2-6不等於115
10-2-7是成員in116
10-2-8不是成員not in116
10-3適用集合的方法116
10-3-1add( )117
10-3-2copy( )117
10-3-3remove( )117
10-3-4discard( )118
10-3-5pop( )119
10-3-6clear( )119
10-3-7isdisjoint( )119
10-3-8issubset( )120
10-3-9issuperset( )120
10-3-10intersection_update( )120
10-3-11update( )121
10-3-12difference_update( )121
10-3-13symmetric_difference_
update( )122
10-4適用集合的基本函數操作122
10-4-1max( )/min( )/sum( )122
10-4-2len( )123
10-4-3sorted( )123
10-4-4enumerate( )123
10-5凍結集合frozenset124
習題125
第11章函數設計
11-1Python函數基本觀念127
11-1-1函數的定義127
11-1-2無參數無返回值的函數128
11-1-3在Python Shell執行函數128
11-2函數的參數設計129
11-2-1傳遞一個參數129
11-2-2多個參數傳遞130
11-2-3關鍵詞參數參數名稱=值131
11-2-4參數默認值的處理131
11-3函數返回值132
11-3-1返回None132
11-3-2簡單返回數值數據133
11-3-3返回多個數據的應用134
11-3-4簡單返回字符串數據134
11-3-5再談參數默認值135
11-3-6函數返回字典數據135
11-3-7將循環應用在建立VIP會員
? 字典136
11-4調用函數時參數是列表137
11-4-1基本傳遞列表參數的應用137
11-4-2在函數內修訂列表的內容137
11-4-3使用副本傳遞列表138
11-5傳遞任意數量的參數140
11-5-1基本傳遞處理任意數量的
? 參數140
11-5-2設計含有一般參數與任意
? 數量參數的函數140
11-5-3設計含有一般參數與任意
? 數量的關鍵詞參數141
11-6遞歸式函數設計recursive141
11-7局部變量與全局變量142
11-7-1全局變量可以在所有函數
? 使用143
11-7-2局部變量與全局變量使用
? 相同的名稱143
11-7-3程序設計需注意事項143
11-8匿名函數lambda144
11-8-1匿名函數lambda的語法144
11-8-2匿名函數使用與filter( )145
11-8-3匿名函數使用與map( )146
11-9pass與函數146
11-10type關鍵詞應用在函數146
習題147
第12章類-面向對象的程序設計
12-1類的定義與使用149
12-1-1定義類149
12-1-2操作類的屬性與方法149
12-1-3類的構造函數150
12-1-4屬性初始值的設定151
12-2類的訪問權限――封裝
? (encapsulation)152
12-2-1私有屬性152
12-2-2私有方法153
12-3類的繼承154
12-3-1衍生類繼承基類的實例應用155
12-3-2如何取得基類的私有屬性155
12-3-3衍生類與基類有相同名稱的
? 屬性155
12-3-4衍生類與基類有相同名稱的
? 方法156
12-3-5衍生類引用基類的方法157
12-3-6三代同堂的類與取得基類的
? 屬性super( )157
12-3-7兄弟類屬性的取得159
12-4多型(polymorphism)159
12-5多重繼承161
12-6type與instance162
12-6-1type( )162
12-6-2isinstance( )163
12-7特殊屬性163
12-7-1文檔字符串__doc__163
12-7-2__name__屬性164
12-8類的特殊方法165
12-8-1__str__( )方法165
12-8-2__repr__( )方法166
12-8-3__iter__( )方法166
習題166
第13章設計與應用模塊
13-1將自建的函數存儲在模塊中169
13-1-1先前準備工作169
13-1-2建立函數內容的模塊169
13-2應用自己建立的函數模塊170
13-2-1import模塊名稱170
13-2-2導入模塊內特定單一函數170
13-2-3導入模塊內多個函數171
13-2-4導入模塊所有函數171
13-2-5使用as給函數指定替代
? 名稱171
13-2-6使用as給模塊指定替代名稱171
13-3將自建的類存儲在模塊內172
13-3-1先前準備工作172
13-3-2建立類別內容的模塊173
13-4應用自己建立的類模塊173
13-4-1導入模塊的單一類173
13-4-2導入模塊的多個類174
13-4-3導入模塊內所有類174
13-4-4import 模塊名稱174
13-4-5模塊內導入另一個模塊的類175
13-5隨機數random模塊176
13-5-1randint( )176
13-5-2choice( )178
13-5-3shuffle( )178
13-6時間time模塊178
13-6-1time( )178
13-6-2sleep( )179
13-6-3asctime( )180
13-6-4localtime( )180
13-7系統sys模塊180
13-7-1version屬性180
13-7-2stdin對象181
13-7-3stdout對象181
13-8keyword模塊182
13-8-1kwlist屬性182
13-8-2iskeyword( )182
習題182
第14章文件的讀取與寫入
14-1文件夾與文件路徑185
14-1-1絕對路徑與相對路徑185
14-1-2os模塊與os.path模塊185
14-1-3取得當前工作目錄
? os.getcwd( )185
14-1-4取得絕對路徑os.path.abspath186
14-1-5傳回特定路段相對路徑
? os.path.relpath( )186
14-1-6檢查路徑方法
? exist/isabs/isdir/isfile186
14-1-7文件與目錄的操作
? mkdir/rmdir/remove/chdir187
14-1-8傳回文件路徑os.path.join( )189
14-1-9獲得特定文件的大小
? os.path.getsize( )189
14-1-10獲得特定工作目錄的內容
? ?os.listdir( )190
14-1-11獲得特定工作目錄內容glob190
14-1-12遍歷目錄樹os.walk( )191
14-2讀取文件192
14-2-1讀取整個文件read( )192
14-2-2with關鍵詞192
14-2-3逐行讀取文件內容193
14-2-4逐行讀取使用readlines( )194
14-2-5數據組合194
14-2-6字符串的替換195
14-2-7數據的搜尋195
14-2-8數據搜尋使用find( )195
14-3寫入文件196
14-3-1將執行結果寫入空的文件內196
14-3-2寫入數值資料197
14-3-3輸出多行數據的實例197
14-3-4建立附加文件198
14-4shutil模塊199
14-4-1文件的複製copy( )199
14-4-2目錄的複製copytree( )199
14-4-3文件的移動move( )200
14-4-4文件名的更改move( )200
14-4-5目錄的移動move( )200
14-4-6目錄的更改名稱move( )201
14-4-7刪除底下有數據的目錄
? rmtree( )201
14-4-8安全刪除文件或目錄
? send2trash( )201
14-5文件壓縮與解壓縮zipFile202
14-5-1執行文件或目錄的壓縮202
14-5-2讀取zip文件203
14-5-3解壓縮zip文件203
14-6認識編碼格式encode203
14-6-1中文Windows操作系統記事本
? 默認的編碼 203
14-6-2utf-8編碼204
14-6-3認識utf-8編碼的BOM205
14-7剪貼板的應用206
習題207
第15章程序除錯與異常處理
15-1程序異常209
15-1-1一個除數為0的錯誤209
15-1-2撰寫異常處理程序
? try - except209
15-1-3try - except - else210
15-1-4找不到文件的錯誤
? FileNotFoundError211
15-1-5分析單一文件的字數211
15-1-6分析多個文件的字數212
15-2設計多組異常處理程序212
15-2-1常見的異常對象213
15-2-2設計捕捉多個異常213
15-2-3使用一個except捕捉多個
? 異常214
15-2-4處理異常但是使用Python
? 內置的錯誤信息215
15-2-5捕捉所有異常215
15-3丟出異常215
15-4記錄Traceback字符串216
15-5finally218
15-6程序斷言assert218
15-6-1設計斷言218
15-6-2停用斷言220
15-7程序日誌模塊logging221
15-7-1logging模塊221
15-7-2logging的等級221
15-7-3格式化logging信息輸出
? format222
15-7-4時間信息asctime222
15-7-5format內的message223
15-7-6列出levelname223
15-7-7使用logging列出變量
? 變化的應用223
15-7-8正式追蹤factorial
? 數值的應用224
15-7-9將程序日誌logging輸出到
? 文件225
15-7-10隱藏程序日誌logging的DEBUG
? 等級使用CRITICAL225
15-7-11停用程序日誌logging225
15-8程序除錯的典故226
習題226
第16章正則表達式(Regular Expression)
16-1使用Python硬功夫搜尋文字228
16-2正則表達式的基礎230
16-2-1建立搜尋字符串模式230
16-2-2使用re.compile( )建立
? Regex對象230
16-2-3搜尋對象230
16-2-4findall( )231
16-2-5再看re模塊231
16-2-6再看正則表達式232
16-3更多搜尋比對模式233
16-3-1使用小括號分組233
16-3-2groups( )234
16-3-3區域號碼是在小括號內234
16-3-4使用管道|234
16-3-5多個分組的管道搜尋235
16-3-6使用?號做搜尋236
16-3-7使用*號做搜尋236
16-3-8使用+號做搜尋236
16-3-9搜尋時忽略大小寫237
16-4貪婪與非貪婪搜尋237
16-4-1搜尋時使用大括號設定比對
? 次數237
16-4-2貪婪與非貪婪搜尋238
16-5正則表達式的特殊字符239
16-5-1特殊字符表239
16-5-2字符分類240
16-5-3字符分類的^字符240
16-5-4正則表示法的^字符241
16-5-5正則表示法的$字符241
16-5-6單一字符使用通配符“.”242
16-5-7所有字符使用通配符“.*”242
16-5-8換行字符的處理242
16-6MatchObject對象243
16-6-1re.match( )243
16-6-2MatchObject幾個重要的
? 方法244
16-7搶救CIA情報員-sub( )方法244
16-7-1一般的應用245
16-7-2搶救CIA情報員245
16-8處理比較複雜的正則表示法246
16-8-1將正則表達式拆成多行
? 字符串246
16-8-2re.VERBOSE246
16-8-3電子郵件地址的搜尋247
16-8-4re.IGNORECASE/re.
? DOTALL/re.VERBOSE247
習題248
第17章使用Python處理Word文件
17-1從Python看Word文件結構250
17-2讀取Word文件內容250
17-2-1建立docx對象250
17-2-2獲得Paragraph和Run數量250
17-2-3列出Paragraph內容250
17-2-4列出Paragraph內的Run內容251
17-2-5讀取和打印文件的應用251
17-2-6讀取文件與適度編排輸出252
17-3存儲文件252
17-4建立文件內容253
17-4-1建立標題253
17-4-2建立段落Paragraph內容254
17-4-3建立Run內容254
17-4-4強制換頁輸出255
17-4-5插入圖片255
17-5建立表格256
17-5-1建立表格內容256
17-5-2插入表格列256
17-5-3計算表格的rows和
? cols的長度257
17-5-4打印表格內容257
17-5-5表格的樣式258
17-6Paragraph樣式259
17-7Run的樣式259
17-8綜合應用 - 搶救CIA情報員260
習題260
第18章使用Python處理PDF文件
18-1打開PDF文件262
18-2獲得PDF文件的頁數262
18-3讀取PDF頁面內容262
18-4檢查PDF是否被加密263
18-5解密PDF文件263
18-6建立新的PDF文件264
18-7PDF頁面的旋轉264
18-8加密PDF文件265
18-9處理PDF頁面重疊266
18-10破解密碼的程序設計267
習題268
第19章使用Python處理Excel文件
19-1認識Excel窗口270
19-2讀取Excel文件270
19-2-1打開文件270
19-2-2取得工作表worksheet名稱271
19-2-3設定當前工作的工作表271
19-2-4取得工作表內容271
19-2-5取得工作表內容的欄數和
? 行數272
19-2-6取得單元格內容273
19-2-7工作表對象ws的rows和
? columns273
19-2-8用整數取代域名275
19-2-9切片275
19-3寫入Excel文件276
19-3-1建立Excel文件276
19-3-2存儲Excel文件276
19-3-3複製Excel文件276
19-3-4建立工作表277
19-3-5刪除工作表278
19-3-6寫入單元格279
19-3-7將列表數據寫進單元格279
19-4設定單元格的字體280
19-4-1Font( )280
19-4-2字體色彩的設定280
19-5數學公式的使用281
19-6設定單元格的高度和寬度282
19-7單元格對齊方式282
19-8合併與取消合並單元格283
19-8-1合並單元格283
19-8-2取消合並單元格283
19-9建立圖表283
19-9-1柱形圖284
19-9-23D柱形圖285
19-9-3餅圖285
19-9-43D餅圖286
習題287
第20章使用Python處理CSV文件
20-1建立一個CSV文件289
20-2用記事本打開CSV文件289
20-3csv模塊290
20-4讀取CSV文件290
20-4-1使用open( )打開CSV文件290
20-4-2建立Reader對象290
20-4-3用循環列出Reader對象數據291
20-4-4用循環列出列表內容291
20-4-5使用列表索引讀取CSV內容291
20-4-6DictReader( )292
20-5寫入CSV文件293
20-5-1打開欲寫入的文件open( )與
? 關閉文件close( )293
20-5-2建立writer對象293
20-5-3輸出列表writerow( )293
20-5-4delimiter關鍵詞294
20-5-5寫入字典數據DictWriter( )295
20-6後記295
習題296
第21章網絡爬蟲
21-1上網不再需要瀏覽器了298
21-2下載網頁信息使用requests
?模塊298
21-2-1下載網頁使用requests.get( )
? 方法298
21-2-2認識Response對象299
21-2-3搜索頁特定內容300
21-2-4下載網頁失敗的異常處理300
21-2-5網頁服務器阻擋造成讀取
? 錯誤301
21-2-6爬蟲程序偽裝成瀏覽器302
21-2-7存儲下載的網頁302
21-3檢視網頁原始文件303
21-3-1建議閱讀書籍303
21-3-2以Microsoft 瀏覽器為實例303
21-3-3源文件的重點304
21-4解析網頁使用BeautifulSoup
?模塊306
21-4-1建立BeautifulSoup對象306
21-4-2基本HTML文件解析――
? 從簡單開始306
21-4-3頁標題title屬性308
21-4-4去除卷標傳回文字text屬性308
21-4-5傳回所找尋的第一個
? 符合的標簽find( )308
21-4-6傳回所找尋的所有符合的標簽
? find_all( )308
21-4-7認識HTML元素上下文
? 屬性與getText( )309
21-4-8select( )310
21-4-9卷標字符串的get( )312
21-5網絡爬蟲實戰312
21-6命令行窗口316
習題316
第22章Selenium網絡爬蟲的王者
22-1順利使用Selenium工具前的安裝
?工作318
22-1-1安裝Selenium318
22-1-2安裝瀏覽器318
22-1-3錯誤的實例318
22-1-4驅動程序的安裝319
22-2獲得webdriver的對象類型320
22-2-1以Firefox瀏覽器為實例320
22-2-2以Chrome瀏覽器為實例320
22-3提取網頁321
22-4尋找HTML文件的元素322
22-5用Python控制點選超鏈接324
22-6用Python填寫窗體和送出324
22-7用Python處理使用網頁的特殊
?按鍵325
22-8用Python處理瀏覽器運作326
習題326
第23章數據圖表的設計
23-1繪製簡單的折線圖328
23-1-1顯示繪製的圖形show( )328
23-1-2畫線plot( )328
23-1-3線條寬度linewidth328
23-1-4標題的顯示329
23-1-5坐標軸刻度的設定330
23-1-6修訂圖表的起始值330
23-1-7多組數據的應用331
23-1-8線條色彩與樣式331
23-1-9刻度設計332
23-1-10圖例legend( )334
23-1-11保存圖片文件336
23-2繪製散點圖scatter( )336
23-2-1基本散點圖的繪製336
23-2-2繪製系列點337
23-2-3設定繪圖區間337
23-3Numpy模塊338
23-3-1建立一個簡單的數組
? linspace( )和arange( )338
23-3-2繪製波形339
23-3-3建立不等寬度的散點圖339
23-3-4色彩映射color mapping340
23-4隨機數的應用342
23-4-1一個簡單的應用342
23-4-2隨機數的移動342
23-4-3隱藏坐標343
23-5繪製多個圖表344
23-5-1一個程序有多個圖表344
23-5-2含有子圖的圖表344
23-6直方圖的製作bar( )345
23-7使用CSV文件繪製圖表347
23-7-1臺北2017年1月氣象資料347
23-7-2列出標題數據347
23-7-3讀取最高溫與最低溫348
23-7-4繪製最高溫348
23-7-5設定繪圖區大小349
23-7-6日期格式349
23-7-7在圖表增加日期刻度350
23-7-8日期位置的旋轉 350
23-7-9繪製最高溫與最低溫351
23-7-10填滿最高溫與最低溫
? 之間的區域352
23-7-11再談軸刻度352
習題352
第24章JSON資料
24-1認識json數據格式355
24-1-1對象(object)355
24-1-2數組(array)355
24-1-3json數據存在方式356
24-2將Python應用在json字符串形式
?數據356
24-2-1使用dumps( )將Python數據
? 轉成json格式356
24-2-2dumps( )的sort_keys參數357
24-2-3dumps( )的indent參數357
24-2-4使用loads( )將json格式數據
? 轉成Python的數據358
24-3將Python應用在json文件358
24-3-1使用dump( )將Python數據
? 轉成json文件358
24-3-2使用load( )讀取json文件359
24-4簡單的json文件應用359
24-5世界人口數據的json文件360
24-5-1認識人口統計的json文件360
24-5-2認識pygal.maps.world的地區代碼
? 信息361
習題362
第25章用Python傳送手機短信
25-1安裝twilio模塊364
25-2到Twilio公司註冊賬號364
25-2-1申請賬號364
25-2-2獲得Account SID365
25-2-3獲得Auth TOKEN365
25-2-4獲得Twilio Number366
25-2-5設定Twilio使用地區367
25-3使用Python程序設計發送短信367
習題368
第26章Python與SQLite數據庫
26-1SQLite基本觀念370
26-2安裝SQLite數據庫370
26-3SQLite數據類型370
26-4建立SQLite數據庫表371
26-5增加SQLite數據庫表記錄372
26-6查詢SQLite數據庫表373
26-7更新SQLite數據庫表記錄375
26-8刪除SQLite數據庫表記錄375
習題376
第27章用Python處理圖像文件
27-1認識Pillow模塊的RGBA378
27-1-1getrgb( )378
27-1-2getcolor( )378
27-2Pillow模塊的盒子元組
?(Box tuple)378
27-3圖像的基本操作379
27-3-1打開圖像對象379
27-3-2圖像大小屬性379
27-3-3取得圖像對象文件名380
27-3-4取得圖像對象的文件格式380
27-3-5存儲文件380
27-3-6建立新的圖像對象380
27-4圖像的編輯381
27-4-1更改圖像大小381
27-4-2圖像的旋轉382
27-4-3圖像的翻轉383
27-4-4圖像像素的編輯383
27-5裁切、複製與圖像合成384
27-5-1裁切圖像384
27-5-2複製圖像384
27-5-3圖像合成385
27-5-4將裁切圖片填滿圖像區間385
27-6在圖像內繪製圖案386
27-6-1繪製點386
27-6-2繪製線條386
27-6-3繪製圓或橢圓386
27-6-4繪製矩形387
27-6-5繪製多邊形387
27-7在圖像內填寫文字387
27-8建立QR code389
習題389
第28章用Python控制鼠標、屏幕與鍵盤
28-1鼠標的控制392
28-1-1提醒事項392
28-1-2屏幕坐標 392
28-1-3獲得鼠標光標位置393
28-1-4絕對位置移動鼠標393
28-1-5相對位置移動鼠標394
28-1-6鍵盤Ctrl-C鍵394
28-1-7讓鼠標位置的輸出在固定
? 位置395
28-1-8單擊鼠標click( )396
28-1-9按住與放開鼠標mouseDown( )和
? mouseUp( )397
28-1-10拖曳鼠標398
28-1-11窗口滾動scroll( )398
28-2屏幕的處理399
28-2-1截取屏幕畫面399
28-2-2裁切屏幕圖形399
28-2-3獲得圖像某位置的像素
? 色彩400
28-2-4色彩的比對400
28-3使用Python控制鍵盤401
28-3-1基本傳送文字401
28-3-2鍵盤按鍵名稱401
28-3-3按下與放開按鍵403
28-3-4快速組合鍵403
28-4網絡窗體的填寫404
習題406
第29章文字識別系統
29-1安裝Tesseract OCR408
29-2安裝pytesseract模塊409
29-3文字識別程序設計409
29-4識別繁體中文410
29-5識別簡體中文411
習題412
第30章多任務與多線程
30-1時間模塊datetime414
30-1-1datetime模塊的數據類型
? datetime414
30-1-2設定特定時間414
30-1-3一段時間timedelta415
30-1-4日期與一段時間相加的應用415
30-1-5將datetime對象轉成
? 字符串416
30-2多線程416
30-2-1一個睡眠程序設計 416
30-2-2建立一個簡單的多線程417
30-2-3參數的傳送418
30-2-4線程的命名與取得418
30-2-5Daemon線程419
30-2-6堵塞主線程join( )420
30-2-7檢查子線程是否仍在
? 工作isAlive( )421
30-2-8瞭解正在工作的線程422
30-2-9自行定義線程和run( )方法423
30-2-10資源鎖定與解鎖
? ?Threading.Lock424
30-2-11產生鎖死426
30-2-12資源鎖定與解鎖
? ?Threading.RLock426
30-2-13高級鎖定threading.
? ?Condition426
30-2-14queue427
30-2-15Semaphore429
30-2-16Barrier429
30-2-17Event430
30-3啟動其他應用程序subprocess
?模塊431
30-3-1Popen( )431
30-3-2poll( )432
30-3-3wait( )432
30-3-4Popen( )方法參數的傳遞433
30-3-5使用默認應用程序打開文件433
30-3-6subprocess.run( )434
習題435
第31章海龜繪圖
31-1基本觀念與安裝模塊437
31-2繪圖初體驗437
31-3繪圖基本練習437
31-4控制畫筆色彩與線條粗細439
31-5繪製圓或弧形440
31-6認識與操作海龜圖像441
31-6-1隱藏與顯示海龜441
31-6-2認識所有的海龜光標442
31-7填滿顏色442
31-8顏色動畫的設計443
31-9繪圖窗口的相關知識444
31-9-1更改海龜窗口標題與背景
顏色444
31-9-2取得/更改窗口寬度與高度445
31-9-3重設世界坐標445
31-10文字的輸出445
31-11鼠標與鍵盤信號446
31-11-1onclick( )446
31-11-2onkey( )和listen( )447
習題447
第32章動畫與遊戲
32-1建立tkinter對象450
32-2建立按鈕450
32-3繪圖功能450
32-3-1建立畫布450
32-3-2繪線條create_line( )450
32-3-3繪矩形create_rectangle( )451
32-3-4繪圓弧create_arc( )452
32-3-5繪製圓或橢圓create_oval( )453
32-3-6繪製多邊形create_polygon( )453
32-3-7輸出文字create_text( )454
32-3-8圖像的輸出create_image( )454
32-3-9tk窗口標題的設定title( )455
32-3-10更改畫布背景顏色455
32-4滾動條控制畫布背景顏色455
32-5動畫設計456
32-5-1基本動畫456
32-5-2多個球移動的設計457
32-5-3將隨機數應用在多個球體的
? 移動457
32-5-4信息綁定458
32-6彈球遊戲設計459
32-6-1設計球往下移動459
32-6-2設計讓球上下反彈459
32-6-3設計讓球在畫布四面反彈460
32-6-4建立球拍461
32-6-5設計球拍移動461
32-6-6球拍與球碰撞的處理462
32-6-7完整的遊戲464
習題465
第33章聲音的控制
33-1安裝與導入467
33-2一般音效的播放Sound( )467
33-3播放音樂文件music( )468
33-4背景音樂469
33-5mp3音樂播放器470
習題471
第34章人臉識別系統設計
34-1安裝OpenCV473
34-1-1安裝OpenCV473
34-1-2安裝Numpy473
34-2讀取和顯示圖像473
34-2-1建立OpenCV圖像窗口473
34-2-2讀取圖像474
34-2-3使用OpenCV窗口顯示圖像474
34-2-4關閉OpenCV窗口474
34-2-5時間等待474
34-2-6存儲圖像475
34-3OpenCV的繪圖功能476
34-4人臉識別477
34-4-1下載人臉識別特徵文件477
34-4-2臉部識別478
34-4-3將臉部存檔479
34-4-4讀取攝像頭所拍的畫面480
34-4-5臉形比對481
34-5設計桃園國際機場的出入境人臉識別
?系統482
習題483
附錄A安裝Python
A-1Windows操作系統的安裝
Python版485
A-2Mac OS操作系統的安裝
Python版486
附錄B安裝第三方模塊
B-1pip工具489
B-1-1Windows系統Python 3.6.2安裝
在C:\489
B-1-2Python 3.6.2安裝在硬盤
更深層489
B-2啟動DOS與安裝模塊490
B-2-1DOS環境490
B-2-2DOS命令提示符490
B-3導入模塊安裝更新版模塊491
B-4安裝更新版模塊491
附錄C函數或方法索引表
(記錄所出現章節)493
附錄DRGB色彩表
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

