新到貨2本75折
Python學習手冊:原書第5版(上下)

Python學習手冊:原書第5版(上下)

  • 定價:1314
  • 優惠價:871143
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

如果你想動手編寫高效、高品質並且很容易與其他語言和工具集成的代碼,本書將快速地幫助你利用Python提高效率。本書基於Python專家的流程培訓課程編寫,內容通俗易懂。本書包含很多注釋的例子和插圖,以幫助你開始使用Python2.7和3.3。每章都包含關於Python語言的重要組成部分的一節課。

本書主要內容:瞭解Python的主要內置物件類型,如數位、清單和字典;創建和處理物件的Python語句,學習Python的一般語法模型;利用Python的基本程式工具的結構和重用代碼;瞭解Python模組:語句包、函數和其他工具;探索Python的物件導向的程式設計工具,用於構建代碼;瞭解異常處理模型和開發工具編寫較大的程式;探索先進的Python工具,包括裝飾符、描述符、元類、Unicode的處理。
 

作者介紹

Mark Lutz是一位Python培訓講師。他是Python熱銷書籍的作者,同時從1992年起就成為Python社區的引領者。Mark有著30餘年的軟體發展經驗,也是《Python程式設計》《Python袖珍指南》等書的作者。
 

目錄

上冊
前言 1

第一部分 使用入門
第1章 問答環節 21
人們為何使用Python 21
軟體品質 22
開發者效率23
Python是一門“指令碼語言”嗎 23
好吧,Python的缺點是什麼 25
如今誰在使用Python 25
其他的Python設計權衡:一些難以把握的方面 26
使用Python可以做些什麼 28
系統程式設計 28
圖形化使用者介面(GUI) 29
Internet腳本 29
組件集成 30
資料庫程式設計30
快速原型 31
數值計算和科學計算程式設計 31
更多內容:遊戲、圖像、資料採擷、機器人、Excel等 31
Python如何開發並獲得支持 32
開源的權衡33
Python有哪些技術上的優點 33
物件導向和函數式 33
免費 34
可移植 34
功能強大 35
可混合 36
相對簡單易用 36
相對簡單易學 37
以Monty Python命名 37
Python和其他語言比較起來怎麼樣 38
本章小結 39
本章習題 39
習題解答 40
Python是工程,不是藝術 41
第2章 Python如何運行程式 43
Python解譯器簡介 43
程式執行 45
程式師的視角 45
Python的視角 46
執行模型的變體 48
Python的各種實現 49
執行優化工具 52
凍結二進位檔案 53
未來的可能性 54
本章小結 55
本章習題 55
習題解答 56
第3章 你應如何運行程式 57
互動式命令列模式 57
開始一個互動式會話 57
Windows平臺上的互動式命令列在哪裡 59
系統路徑 59
Python 33中的新Windows選項:PATH和啟動器 60
運行的位置:代碼目錄 61
不需要輸入的內容:提示符和注釋 62
互動式地運行代碼 63
為什麼要使用互動式命令列模式 64
使用注意:交互命令列模式 65
系統命令列和檔 67
第一段腳本68
使用命令列運行檔 69
不同的命令行使用方式 70
使用注意:命令列和文件 71
UNIX風格可執行腳本:#! 72
UNIX腳本基礎 72
UNIX env查找技巧 73
Python 33 Windows啟動器:Windows也有#!了 73
點擊檔圖示 75
圖示點擊基礎知識 75
在Windows上點擊圖示 76
Windows上輸入的技巧 77
其他圖示點擊的限制 79
模組導入和重載 79
導入和重載基礎知識 80
模組的宏觀視角:屬性 82
使用注意:import和reload 85
使用exec運行模組檔 85
IDLE使用者介面 86
IDLE啟動細節 87
IDLE基礎用法 88
IDLE功能特性 89
高級IDLE工具 90
使用注意:IDLE 90
其他IDE 92
其他啟動選項 93
嵌入式調用93
凍結二進位可執行檔 94
文字編輯器啟動方式 94
其他的啟動方式 95
未來的可能95
應該選用哪種方式 95
調試Python代碼 96
本章小結 97
本章習題 97
習題解答 98
第一部分練習題 99

第二部分 類型和運算
第4章 介紹Python物件類型 105
Python知識結構 105
為什麼要使用內置類型 106
Python核心資料類型 107
數字 108
字串 110
序列操作 110
不可變性 112
特定類型的方法 113
尋求幫助 115
字串程式設計的其他方式 116
Unicode字串 117
模式匹配 119
列表 120
序列操作 120
特定的操作121
邊界檢查 121
嵌套 122
推導 122
字典 125
映射操作 125
重訪嵌套 126
不存在的鍵:if 測試 128
鍵的排序:for 迴圈 129
反覆運算和優化131
元組 132
為什麼要使用元組 133
文件 133
二進位位元組檔 134
Unicode文字檔 135
其他類文件工具 137
其他核心類型 137
如何破壞代碼的靈活性 139
用戶定義的類 140
剩餘的內容141
本章小結 141
本章習題 141
習題解答 142
第5章 數數值型別 143
數數值型別基礎知識 143
數值字面量144
內置數值工具 146
Python運算式運算子 146
數字的實際應用 151
變數與基礎運算式 151
數值的顯示格式 153
str和repr顯示格式 154
普通比較與鏈式比較 154
除法:經典除法、向下取整除法和真除法 156
整數精度 160
複數 160
十六進位、八進制和二進位:字面量與轉換 161
按位操作 163
其他內置數值工具 164
其他數數值型別 167
小數類型 167
分數類型 169
集合 173
布林型 180
數值擴展 181
本章小結 182
本章習題 182
習題解答 182
第6章 動態類型 184
缺少聲明語句的情況 184
變數、物件和引用 184
類型屬於物件,而不是變數 186
對象的垃圾收集 187
關於Python垃圾回收的更多討論 188
共用引用 189
共用引用和在原位置修改 190
共用引用和相等 192
動態類型隨處可見 193
“弱”引用194
本章小結 194
本章習題 194
習題解答 195
第7章 字串基礎 196
本章範圍 196
Unicode簡介 197
字串基礎 197
字串字面量 199
單引號和雙引號字串是一樣的 200
轉義序列代表特殊字元 200
原始字串阻止轉義 203
三引號編寫多行塊字串 205
實際應用中的字串 206
基本操作 206
索引和分片207
請留意:分片 211
字串轉換工具 212
修改字串I 214
字串方法 216
方法調用語法 216
字串的方法 217
字串方法示例:修改字串II 218
字串方法示例:解析文本 220
實際應用中的其他常見字串方法 220
原始string模組的函數(在Python 3X中刪除) 221
字串格式化運算式 223
格式化運算式基礎 224
高級格式化運算式語法 225
高級格式化運算式舉例 226
基於字典的格式化運算式 227
字串格式化方法調用 228
字串格式化方法基礎 228
添加鍵、屬性和偏移量 229
高級格式化方法語法 230
高級格式化方法舉例 231
與%格式化運算式比較233
為什麼使用格式化方法 236
通用類型分類 241
同一分類中的類型共用同一個操作集241
可變類型能夠在原位置修改 242
本章小結 242
本章習題 243
習題解答 243
第8章 清單與字典 245
列表 245
列表的實際應用 248
基本列表操作 248
列表反覆運算和推導 248
索引、分片和矩陣 249
原位置修改列表 250
字典 256
字典的實際應用 258
字典的基本操作 258
原位置修改字典 259
其他字典方法 260
示例:電影資料庫 262
字典用法注意事項 263
創建字典的其他方式 267
請留意:字典vs清單 268
Python 3X和27中的字典變化 269
請留意:字典介面 276
本章小結 277
本章習題 277
習題解答 277
第9章 元組、文件與其他核心類型 279
元組 280
元組的實際應用 281
為什麼有了列表還要元組 283
重訪記錄:有名元組 284
文件 286
打開文件 287
使用檔 288
文件的實際應用 289
文本和二進位檔案:一個簡要的故事290
在檔中存儲Python物件:轉換 291
存儲Python原生物件:pickle 293
用JSON格式存儲Python物件 294
存儲打包二進位資料:struct 296
文件上下文管理器 297
其他文件工具 297
核心類型複習與總結 299
請留意:運算子重載 300
對象靈活性300
引用vs複製 301
比較、等價性和真值 303
Python中True和False的含義 307
Python的類型層次 309
類型的對象309
Python中的其他類型 311
內置類型陷阱 311
賦值創建引用,而不是複製 311
重複會增加層次深度 312
注意迴圈資料結構 313
不可變類型不可以在原位置改變 313
本章小結 314
本章習題 314
習題解答 315
第二部分練習題 315

第三部分 語句和語法
第10章 Python語句簡介 321
重溫Python的知識結構 321
Python的語句 322
兩種不同的if 324
Python增加的元素 325
Python刪除的元素 325
為什麼採用縮進語法 327
幾種特殊情況 329
簡短示例:互動式迴圈 331
一個簡單的互動式迴圈 331
對用戶輸入做數學運算 333
通過測試輸入資料來處理錯誤 334
用try語句處理錯誤 335
嵌套三層深的代碼 337
本章小結 338
本章習題 338
習題解答 338
第11章 賦值、運算式和列印 340
設定陳述式 340
設定陳述式形式 341
序列賦值 342
Python 3X中的擴展序列解包 345
多目標賦值349
增量賦值 350
變數命名規則 353
Python中的廢棄協議 355
運算式語句 356
運算式語句和原位置修改 358
列印操作 358
Python 3X的print函數 359
Python 2X的print語句 362
列印流重定向 363
版本中立的列印 367
為什麼你要注意:print和stdout 369
本章小結 370
本章習題 370
習題解答 370
第12章 if測試和語法規則 372
if語句372
一般形式 372
基礎示例 373
多路分支 373
複習Python語法規則 375
代碼塊分隔符號:縮進規則 377
語句分隔符號:行與行間連接子 378
一些特殊情況 379
真值和布林測試 381
if/else三元運算式 383
請留意:布林值 384
本章小結 386
本章習題 386
習題解答 386
第13章 while迴圈和for迴圈 387
while迴圈 387
一般形式 387
示例 388
break、continue、pass和迴圈的else 389
一般迴圈形式 389
pass 389
continue 391
break 391
迴圈的else 392
請留意:模擬C 語言的while迴圈 393
for迴圈 394
一般形式 394
示例 395
請留意:檔掃描器 400
編寫迴圈的技巧 402
計數器迴圈:range 402
序列掃描:while和range vs for 403
序列亂序器:range和len 404
非窮盡遍歷:range vs分片 405
修改列表:range vs推導 406
並行遍歷:zip和map 407
同時給出偏移量和元素:enumerate 410
請留意:shell命令及其他 411
本章小結 414
本章習題 414
習題解答 414
第14章 反覆運算和推導 416
反覆運算器:初次探索 417
反覆運算協議:文件反覆運算器 417
手動反覆運算:iter和next 420
其他內置類型可反覆運算物件 423
列表推導:初次深入探索 425
列表推導基礎 426
在檔上使用列表推導 427
擴展的清單推導語法 428
其他反覆運算上下文 430
Python 3X新增的可反覆運算對象 435
對Python 2X版本代碼的影響:利與弊 435
range可反覆運算對象 436
map、zip和filter可反覆運算對象 437
多遍反覆運算器vs單遍反覆運算器 439
字典視圖可反覆運算物件 440
其他反覆運算話題 441
本章小結 442
本章習題 442
習題解答 442
第15章 文檔 444
Python文檔資源 444
#注釋 445
dir函數 445
文檔字串:__doc__ 447
PyDoc:help函數 450
PyDoc:HTML報告 453
改變PyDoc的顏色 456
超越文檔字串:Sphinx 461
標準手冊集462
網路資源 463
已出版的書籍 463
常見代碼編寫陷阱 463
本章小結 465
本章習題 466
習題解答 466
第三部分練習題 467

第四部分 函數和生成器
第16章 函數基礎 473
為何使用函數 474
編寫函數 475
def語句 476
def語句執行于運行時 477
第一個示例:定義和調用 478
定義 478
調用 478
Python中的多態 479
第二個示例:尋找序列的交集 480
定義 480
調用 481
重訪多態 482
區域變數 482
本章小結 483
本章習題 483
習題解答 483
第17章 作用域 485
Python作用域基礎 485
作用域細節486
變數名解析:LEGB規則 488
作用域實例490
內置作用域491
打破Python 2X的小宇宙 494
global語句 494
程式設計:最少化全域變數 495
程式設計:最小化跨檔的修改 497
其他訪問全域變數的方式 498
作用域和嵌套函數 499
嵌套作用域的細節 500
嵌套作用域舉例 500
工廠函數:閉包 501
使用預設值參數來保存外層作用域的狀態 503
Python 3X中的nonlocal語句 507
nonlocal基礎 508
nonlocal應用 509
為什麼選nonlocal?狀態保持備選項 511
nonlocal變數的狀態:僅適用於Python 3X 511
全域變數的狀態:只有一份副本 512
類的狀態:顯式屬性(預習) 513
函數屬性的狀態:Python 3X和Python 2X的異同 514
請留意:定制open 516
本章小結 518
本章習題 518
習題解答 520
第18章 參數 521
參數傳遞基礎 521
參數和共用引用 522
避免修改可變參數 524
模擬輸出參數和多重結果 525
特殊的參數匹配模式 526
參數匹配基礎 526
參數匹配語法 527
更深入的細節 528
關鍵字參數和預設值參數的示例 529
可變長參數的實例 532
Python 3X的keyword-only參數 536
min提神小例 539
滿分 540
附加分 541
結論 542
通用set函數 542
類比Python 3X print函數 544
使用keyword-only參數 546
請留意:關鍵字參數 547
本章小結 548
本章習題 548
習題解答 549
第19章 函數的高級話題 550
函數設計概念 550
遞迴函數 552
用遞迴求和552
編碼替代方案 553
迴圈語句vs遞迴 554
處理任意結構 555
函數物件:屬性和注解 558
間接函式呼叫:“一等”對象 559
函數自省 560
函數屬性 561
Python 3X中的函數注解 562
匿名函數:lambda564
lambda運算式基礎 564
為什麼使用lambda 566
如何(不)讓Python代碼變得晦澀難懂 568
作用域:lambda也能嵌套 569
請留意:lambda回檔 570
函數式程式設計工具 570
在可反覆運算物件上映射函數:map 571
選擇可反覆運算物件中的元素:filter 573
合併可反覆運算物件中的元素:reduce 573
本章小結 575
本章習題 575
習題解答 575
第20章 推導和生成 577
清單推導與函數式程式設計工具 577
列表推導與map 578
使用filter增加測試和迴圈嵌套 579
示例:列表推導與矩陣 582
不要濫用列表推導:簡單勝於複雜(KISS) 584
請留意:列表推導和map 585
生成器函數與運算式 587
生成器函數:yield vs return 587
生成器運算式:當可反覆運算物件遇見推導語法 592
生成器函數vs生成器運算式 597
生成器是單遍反覆運算對象 599
Python 33的yield from擴展 600
內置類型、工具和類中的值生成 601
實例:生成亂序序列 604
不要過度使用生成器:明確勝於隱晦(EIBTI) 609
示例:用反覆運算工具模擬zip和map 611
為什麼你要注意:單遍反覆運算 616
推導語法總結 617
作用域及推導變數 617
理解集合推導和字典推導 619
集合與字典的擴展推導語法 620
本章小結 621
本章習題 621
習題解答 621
第21章 基準測試 623
計時反覆運算可選方案 623
自己編寫的計時模組 624
33版本中新的計時器調用 627
計時腳本 628
計時結果 630
計時模組可選方案 633
其他建議 636
用timeit為反覆運算和各種Python計時 637
timeit基礎用法 637
基準測試模組和腳本:timeit 641
基準測試腳本結果 643
基準測試的更多樂趣 646
其他基準測試主題:pystones 650
函數陷阱 651
區域變數是被靜態檢測的 651
預設值參數和可變對象 653
沒有return語句的函數 655
其他函數陷阱 655
本章小結 656
本章習題 656
習題解答 656
第四部分練習題 657

第五部分 模組和包
第22章 模組:宏偉藍圖 663
為什麼使用模組 664
Python程式架構 664
如何組織一個程式 665
導入和屬性665
標準庫模組667
import如何工作 667
1搜索 668
2編譯(可選) 668
3運行 669
位元組碼檔:Python 32及以上版本的__pycache__ 670
實際應用中的位元組碼檔模型 671
模組搜索路徑 672
配置搜索路徑 674
搜索路徑的變化 674
syspath列表 675
模組檔選擇 676
協力廠商工具:distutils 678
本章小結 678
本章習題 679
習題解答 679
第23章 模組代碼編寫基礎 680
模組的創建 680
模組檔案名680
其他種類的模組 681
模組的使用 681
import語句 681
from語句 682
from 語句 682
導入只發生一次 683
import和from是設定陳述式 684
import和from的等價性 685
from語句潛在的陷阱 686
模組命名空間 687
檔產生命名空間 687
命名空間字典:__dict__ 689
屬性名稱的點號運算 689
導入與作用域 690
命名空間的嵌套 691
重新載入模組 692
reload基礎 693
reload示例 694
請留意:模組重新載入 695
本章小結 696
本章習題 696
習題解答 696
第24章 模組包 698
包導入基礎 698
包和搜索路徑設置 699
__init__py包文件
 

詳細資料

  • ISBN:9787111603665
  • 規格:平裝 / 1467頁 / 23.4 x 17.8 x 6.8 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 【其他】2024采實電子書全書系:春暖花開‧享閱讀,參展書單書85折起、任選3本79折
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則

  • 翦商作者新作79折
  • 針灸匠張寶旬
  • 浪漫小說精選3本72折