内容簡介
本書是經典教程的全新改版,作者根據Python 3.0版本的種種變化,全面改寫了書中内容,做到既能“瞻前”也能“顧後”。本書層次鮮明、結構嚴謹、内容翔實,特别是在最後幾章,作者将前面講述的内容應用到了10個引人入勝的項目中,并以模闆的形式介紹了項目的開發過程。本書既适合初學者夯實基礎,又能幫助Python程序員提升技能,即使是 Python方面的技術專家,也能從書裡找到令你耳目一新的東西。
圖書目錄
第1章 基礎知識
1.1 安裝Python
1.1.1 Windows
1.1.2 Linux和UNIX
1.1.3 蘋果機(Macintosh)
1.1.4 其他發布版
1.1.5 時常關注,保持更新
1.2 交互式解釋器
1.3 算法是什麼
1.4 數字和表達式
1.4.1 長整型數
1.4.2 十六進制和八進制
1.5 變量
1.6 語句
1.7 獲取用戶輸入
1.8 函數
1.9 模塊
1.9.1 cmath和複數
1.9.2 回到future
1.10 保存并執行程序
1.10.1 通過命令提示符運行Python腳本
1.10.2 讓腳本像普通程序一樣運行
1.10.3 注釋
1.11 字符串
1.11.1 單引号字符串和轉義引号
1.11.2 拼接字符串
1.11.3 字符串表示和repr
1.11.4 input和rawinpm的比較
1.11.5 長字符串、原始字符串和Unicode
1.12 小結
1.12.1 本章的新函數
1.12.2 接下來學什麼
第2章 列表和元組
2.1 序列概覽
2.2 通用序列操作
2.2.1 索引
2.2.2 分片
2.2.3 序列相加
2.2.4.乘法
2.2.5 成員資格
2.2.6 長度、最小值和最大值
2.3 列表:Python的“苦力”
2.3.1 list函數
2.3.2 基本的列表操作
2.3.3 列表方法
2.4 元組:不可變序列
2.4.1 tuple函數
2.4.2 基本元組操作
2.4.3 那麼,意義何在
2.5 小結
2.5.1 本章的新函數
2.5.2 接下來學什麼
第3章 使用字符串
3.1 基本字符串操作
3.2 字符串格式化:精簡版
3.3 字符串格式化:完整版
3.3.1 簡單轉換
3.3.2 字段寬度和精度
3.3.3 符号、對齊和0填充
3.4 字符串方法
3.4.1 f1nd
3.4.2 join
3.4.3 jower
3.4.4 replace
3.4.5 spl1t
3.4.6 strlD
3.4.7 tralqslate
3.5 小結
3.5.1 本章的新函數
3.5.2 接下來學什麼
第4章 字典:當索引不好用時
4.1 字典的使用
4.2 創建和使用字典
4.2.1 dict函數
4.2.2 基本字典操作
4.2.3 字典的格式化字符串
4.2.4 字典方法
4.3 小結
4.3.1 本章的新函數
4.3.2 接下來學什麼
第5章 條件、循環和其他語句
5.1 print和import的更多信息
5.1.1 使用逗号輸出
5.1.2 把某件事作為另一件事導入
5.2 賦值魔法
5.2.1 序列解包
5.2.2 鍊式賦值
5.2.3 增量賦值
5.3 語句塊:縮排的樂趣
5.4 條件和條件語句
5.4.1 這就是布爾變量的作用
5.4.2 條件執行和if語句
5.4.3 else子句
5.4.4 elif子句
5.4.5 嵌套代碼塊
5.4.6 更複雜的條件
5.4.7 斷言
5.5 循環
5.5.1 while循環
5.5.2 for循環
5.5.3 循環遍曆字典元素
5.5.4 一些叠代工具
5.5.5 跳出循環
5.5.6 循環中的else子句
5.6 列表推導式——輕量級循環
5.7 三人行
5.7.1 什麼都沒發生
5.7.2 使用del删除
5.7.3 使用exec和eval執行和求值字符串
5.8 小結
5.8.1 本章的新函數
5.8.2 接下來學什麼
第6章 抽象
6.1 懶惰即美德
6.2 抽象和結構
6.3 創建函數
6.3.1 記錄函數
6.3.2 并非真正函數的函數
6.4 參數魔法
6.4.1 值從哪裡來
6.4.2 我能改變參數嗎
6.4.3 關鍵字參數和默認值
6.4.4 收集參數
6.4.5 反轉過程
6.4.6 練習使用參數
6.5 作用域
6.6 遞歸
6.6.1 兩個經典:階乘和幂
6.6.2 另外一個經典:二元查找
6.7 小結
6.7.1 本章的新函數
6.7.2 接下來學什麼
第7章 更加抽象
7.1 對象的魔力
7.1.1 多态
7.1.2 封裝
7.1.3 繼承
7.2 類和類型
7.2.1 類到底是什麼
7.2.2 創建自己的類
7.2.3 特性、函數和方法
7.2.4 類的命名空間
7.2.5 指定超類
7.2.6 調查繼承
7.2.7 多個超類
7.2.8 接口和内省
7.3 一些關于面向對象設計的思考
7.4 簡明總結
7.4.1 本章的新函數
7.4.2 接下來學什麼
第8章 異常
8.1 什麼是異常
8.2 按自己的方式出錯
8.2.1 raise語句
8.2.2 自定義異常類
8.3 捕捉異常
8.4 不止一個except子句
8.5 用一個塊捕捉兩個異常
8.6 捕捉對象
8.7 真正的全捕捉
8.8 萬事大吉
8.9 最後
8.10 異常和函數
8.11 異常之禅
8.12小結
8.12.1 本章的新函數
8.12.2 接下來學什麼
第9章 魔法方法、屬性和叠代器
9.1 準備工作
9.2 構造方法
9.2.1 重寫一般方法和特殊的構造方法
9.2.2 調用未綁定的超類構造方法
9.2.3 使用super、函數
9.3 成員訪問
9.3.1 基本的序列和映射規則
9.3.2 子類化列表,字典和字符串
9.4 更多魔力
9.5 屬性
9.5.1 property函數
9.5.2 靜态方法和類成員方法
9.5.3 getattr、setattr和它的朋友們
9.6 叠代器
9.6.1 叠代器規則
9.6.2 從叠代器得到序列
9.7 生成器
9.7.1 創建生成器
9.7.2 遞歸生成器
9.7.3 通用生成器
9.7.4 生成器方法
9.7.5 模拟生成器
9.8 八皇後問題
9.8.1 生成器和回溯
9.8.2 問題
9.8.3 狀态表示
9.8.4 尋找沖突
9.8.5 基本情況
9.8.6 需要遞歸的情況
9.8.7 打包
9.9 小結
9.9.1 本章的新函數
9.9.2 接下來學什麼
第10章 充電時刻
10.1 模塊
10.1.1 模塊是程序
10.1.2 模塊用于定義
10.1.3 讓你的模塊可用
10.1.4 包
10.2 探究模塊
10.2.1 模塊中有什麼
10.2.2 用help獲取幫助
10.2.3 文檔
10.2.4 使用源代碼
10.3 标準庫:一些最愛
10.3.1 sys
10.3.2 OS
10.3.3 fileinput
10.3.4 集合、堆和雙端隊列
10.3.5 time
10.3.6 random
10.3.7 shelve
10.3.8 re
10.3.9 其他有趣的标準模塊
10.4 小結
10.4.1 本章的新函數
10.4.2 接下來學什麼
第11章 文件和素材
11.1 打開文件
11.1.1 文件模式
11.1.2 緩沖
11.2 基本文件方法
11.2.1 讀和寫
11.2.2 管式輸出
11.2.3 讀寫行
11.2.4 關閉文件
11.2.5 使用基本文件方法
11.3 對文件内容進行叠代
11.3.1 按字節處理
11.3.2 按行操作
11.3.3 讀取所有内容
11.3.4 使用fileinput實現懶惰行叠代
11.3.5 文件叠代器
11.4 小結
11.4.1 本章的新函數
11.4.2 接下來學什麼
第12章 圖形用戶界面
12.1 豐富的平台
12.2 下載和安裝wxpytbon
12.3 創建示例GUI應用程序
12.3.1 開始
12.3.2 窗口和組件
12.3.3 标簽、标題和位置
12.3.4 更智能的布局
12.3.5 事件處理
12.3.6 完成了的程序
12.4 但是我甯願用
12.4..1 使用Tkinter
12.4.2 使用Jython和Swing
12.4..3 使用其他開發包
12.5 小結
第13章 數據庫支持
13.1 Python數據庫API
13.1.1 全局變量
13.1.2 異常
13.1.3 連接和遊标
13.1.4 類型
13.2 SQLite和PySQLite
13.2.1 入門
13.2.2 數據庫應用程序示例
13.3 小結
13.3.1 本章的新函數
13.3.2 接下來學什麼
第14章 網絡編程
14.1 少數幾個網絡設計模塊
14.1.1 socket模塊
14.1.2 urllib和urllib2模塊
14.1.3 其他模塊
14.2 SocketServer和它的朋友們
14.3 多連接
14.3.1 使用SocketServer進行分叉和線程處理
14.3.2 帶有select和port的異步I/O
14.4 Twisted
14.4.1 下裁并安裝Twisted
14.4.2 編寫Twisted服務器
14.5 小結
14.5.1 本章的新函數
14.5.2 接下來學什麼
第15章 Python和萬維網
15.1 屏幕抓取
15.1.1 Tidy和XHTML解析
作者簡介
作者:(挪威)Magnus Lie Hetland 譯者:司維 曾軍崴 譚穎華Magnus Lie Hetland是挪威科技大學副教授,教授算法。喜歡鑽研新的編程語言,是Python語言的堅定支持者。他寫過很多Python方面的書和在線教程,比如深受大家歡迎的網上教程Instant Python。



















