出版時(shí)間:2011-4 出版社:機(jī)械工業(yè)出版社 作者:[美] Mark Lutz 頁(yè)數(shù):889 譯者:李軍,劉紅偉
Tag標(biāo)簽:無(wú)
內(nèi)容概要
學(xué)習(xí)Python的主要內(nèi)建對(duì)象類(lèi)型:數(shù)字、列表和字典。使用Python語(yǔ)句創(chuàng)建和處理對(duì)象,并且學(xué)習(xí)Python的通用語(yǔ)法模型。使用函數(shù)構(gòu)造和重用代碼,函數(shù)是Python的基本過(guò)程工具。學(xué)習(xí)Python模塊:封裝語(yǔ)句、函數(shù)以及其他工具,以便構(gòu)建較大的組件。學(xué)習(xí)Python的面向?qū)ο缶幊坦ぞ?,用于組織程序代碼。學(xué)習(xí)異常處理模型,以及用于編寫(xiě)較大程序的開(kāi)發(fā)工具。了解高級(jí)Python工具,如裝飾器、描述器、元類(lèi)和Unicode處理等。
作者簡(jiǎn)介
魯特茲(Mark
Lutz),世界級(jí)的Python培訓(xùn)講師。他是暢銷(xiāo)Python書(shū)籍的作者,從1992年起,他就是Python社區(qū)的先鋒。他也是《Programming
Python》、《Python Pocket Reference》和《Learning Python》等書(shū)的作者。
書(shū)籍目錄
前言
第一部分 使用入門(mén)
第1章 問(wèn)答環(huán)節(jié)
人們?yōu)楹问褂肞ython
軟件質(zhì)量
開(kāi)發(fā)效率
Python是“腳本語(yǔ)言”嗎
好吧,Python的缺點(diǎn)是什么呢
如今誰(shuí)在使用Python
使用Python可以做些什么
系統(tǒng)編程
用戶(hù)圖形接口
Internet腳本
組件集成
數(shù)據(jù)庫(kù)編程
快速原型
數(shù)值計(jì)算和科學(xué)計(jì)算編程
游戲、圖像、人工智能、XML、機(jī)器人等
Python如何獲得支持
Python有哪些技術(shù)上的優(yōu)點(diǎn)
面向?qū)ο?br />免費(fèi)
可移植
功能強(qiáng)大
可混合
簡(jiǎn)單易用
簡(jiǎn)單易學(xué)
Python和其他語(yǔ)言比較起來(lái)怎么樣
本章小結(jié)
本章習(xí)題
習(xí)題解答
Python是工程,不是藝術(shù)
第2章 Python如何運(yùn)行程序
Python解釋器簡(jiǎn)介
程序執(zhí)行
程序員的視角
Python的視角
執(zhí)行模塊的變體
Python實(shí)現(xiàn)的替代者
執(zhí)行優(yōu)化工具
凍結(jié)二進(jìn)制文件
其他執(zhí)行選項(xiàng)
未來(lái)的可能性
本章小結(jié)
本章習(xí)題
習(xí)題解答
第3章 如何運(yùn)行程序
交互提示模式下編寫(xiě)代碼
交互地運(yùn)行代碼
為什么使用交互提示模式
使用交互提示模式
系統(tǒng)命令行和文件
第一段腳本
使用命令行運(yùn)行文件
使用命令行和文件
UNIX可執(zhí)行腳本(#!)
UNIX env查找技巧
點(diǎn)擊文件圖標(biāo)
在Windows中點(diǎn)擊圖標(biāo)
input的技巧
圖標(biāo)點(diǎn)擊的其他限制
模塊導(dǎo)入和重載
模塊的顯要特性:屬性
import和reload的使用注意事項(xiàng)
使用exec運(yùn)行模塊文件
IDLE用戶(hù)界面
IDLE基礎(chǔ)
使用IDLE
高級(jí)IDLE工具
其他的IDE
其他啟動(dòng)選項(xiàng)
嵌入式調(diào)用
凍結(jié)二進(jìn)制的可執(zhí)行性
文本編輯器啟動(dòng)的選擇
其他的啟動(dòng)選擇
未來(lái)的可能
我應(yīng)該選用哪種
調(diào)試Python代碼
本章小結(jié)
本章習(xí)題
習(xí)題解答
第一部分 練習(xí)題
第二部分 類(lèi)型和運(yùn)算
第4章 介紹Python對(duì)象類(lèi)型
為什么使用內(nèi)置類(lèi)型
Python的核心數(shù)據(jù)類(lèi)型
數(shù)字
字符串
序列的操作
不可變性
類(lèi)型特定的方法
尋求幫助
編寫(xiě)字符串的其他方法
模式匹配
列表
序列操作
類(lèi)型特定的操作
邊界檢查
嵌套
列表解析
字典
映射操作
重訪(fǎng)嵌套
鍵的排序:for 循環(huán)
迭代和優(yōu)化
不存在的鍵:if 測(cè)試
元組
為什么要用元組
文件
其他文件類(lèi)工具
其他核心類(lèi)型
如何破壞代碼的靈活性
用戶(hù)定義的類(lèi)
剩余的內(nèi)容
本章小結(jié)
本章習(xí)題
習(xí)題解答
第5章 數(shù)字
Python的數(shù)字類(lèi)型
數(shù)字常量
內(nèi)置數(shù)學(xué)工具和擴(kuò)展
Python表達(dá)式操作符
在實(shí)際應(yīng)用中的數(shù)字
變量和基本的表達(dá)式
數(shù)字顯示的格式
比較:一般的和連續(xù)的
str和repr顯示格式
除法: 傳統(tǒng)除法、Floor除法和真除法
整數(shù)精度
復(fù)數(shù)
十六進(jìn)制、八進(jìn)制和二進(jìn)制記數(shù)
位操作
其他的內(nèi)置數(shù)學(xué)工具
其他數(shù)字類(lèi)型
小數(shù)數(shù)字
分?jǐn)?shù)類(lèi)型
集合
布爾型
數(shù)字?jǐn)U展
本章小結(jié)
本章習(xí)題
習(xí)題解答
第6章 動(dòng)態(tài)類(lèi)型簡(jiǎn)介
缺少類(lèi)型聲明語(yǔ)句的情況
變量、對(duì)象和引用
類(lèi)型屬于對(duì)象,而不是變量
對(duì)象的垃圾收集
共享引用
共享引用和在原處修改
共享引用和相等
動(dòng)態(tài)類(lèi)型隨處可見(jiàn)
本章小結(jié)
本章習(xí)題
習(xí)題解答
第7章 字符串
字符串常量
單雙引號(hào)字符串是一樣的
用轉(zhuǎn)義序列代表特殊字節(jié)
raw字符串抑制轉(zhuǎn)義
三重引號(hào)編寫(xiě)多行字符串塊
實(shí)際應(yīng)用中的字符串
基本操作
索引和分片
為什么要在意:分片
字符串轉(zhuǎn)換工具
修改字符串
字符串方法
字符串方法實(shí)例:修改字符串
字符串方法實(shí)例:文本解析
實(shí)際應(yīng)用中的其他常見(jiàn)字符串方法
最初的字符串模塊(在Python 3.0中刪除)
字符串格式化表達(dá)式
更高級(jí)的字符串格式化表達(dá)式
基于字典的字符串格式化
字符串格式化調(diào)用方法
基礎(chǔ)知識(shí)
添加鍵、屬性和偏移量
添加具體格式化
與%格式化表達(dá)式比較
為什么用新的格式化方法
通常意義下的類(lèi)型分類(lèi)
同樣分類(lèi)的類(lèi)型共享其操作集合
可變類(lèi)型能夠在原處修改
本章小結(jié)
本章習(xí)題
習(xí)題解答
第8章 列表與字典
列表
實(shí)際應(yīng)用中的列表
基本列表操作
列表迭代和解析
索引、分片和矩陣
原處修改列表
字典
實(shí)際應(yīng)用中的字典
字典的基本操作
原處修改字典
其他字典方法
語(yǔ)言表
字典用法注意事項(xiàng)
為什么要在意字典接口
創(chuàng)建字典的其他方法
Python 3.0中的字典變化
本章小結(jié)
本章習(xí)題
習(xí)題解答
第9章 元組、文件及其他
元組
實(shí)際應(yīng)用中的元組
為什么有了列表還要元組
文件
打開(kāi)文件
使用文件
實(shí)際應(yīng)用中的文件
其他文件工具
重訪(fǎng)類(lèi)型分類(lèi)
為什么要在意操作符重載
對(duì)象靈活性
引用 VS 拷貝
比較、相等性和真值
Python 3.0的字典比較
Python中真和假的含義
Python的類(lèi)型層次
Type對(duì)象
Python中的其他類(lèi)型
內(nèi)置類(lèi)型陷阱
賦值生成引用,而不是拷貝
重復(fù)能夠增加層次深度
留意循環(huán)數(shù)據(jù)結(jié)構(gòu)
不可變類(lèi)型不可以在原處改變
本章小結(jié)
本章習(xí)題
習(xí)題解答
第二部分練習(xí)題
第三部分 語(yǔ)句和語(yǔ)法
第10章 Python語(yǔ)句簡(jiǎn)介
重訪(fǎng)Python程序結(jié)構(gòu)
Python的語(yǔ)句
兩個(gè)if的故事
Python增加了什么
Python刪除了什么
為什么使用縮進(jìn)語(yǔ)法
幾個(gè)特殊實(shí)例
簡(jiǎn)短實(shí)例:交互循環(huán)
一個(gè)簡(jiǎn)單的交互式循環(huán)
對(duì)用戶(hù)輸入數(shù)據(jù)做數(shù)學(xué)運(yùn)算
用測(cè)試輸入數(shù)據(jù)來(lái)處理錯(cuò)誤
用try語(yǔ)句處理錯(cuò)誤
嵌套代碼三層
本章小結(jié)
本章習(xí)題
習(xí)題解答
第11章 賦值、表達(dá)式和打印
賦值語(yǔ)句
賦值語(yǔ)句的形式
序列賦值
Python 3.0中的擴(kuò)展序列解包
多目標(biāo)賦值語(yǔ)句
增強(qiáng)賦值語(yǔ)句
變量命名規(guī)則
Python的廢棄協(xié)議
表達(dá)式語(yǔ)句
表達(dá)式語(yǔ)句和在原處的修改
打印操作
Python 3.0的print函數(shù)
Python 2.6 print語(yǔ)句
打印流重定向
版本獨(dú)立的打印
為什么要注意print和stdout
本章小結(jié)
本章習(xí)題
習(xí)題解答
第12章 if測(cè)試和語(yǔ)法規(guī)則
if語(yǔ)句
通用格式
基本例子
多路分支
Python語(yǔ)法規(guī)則
代碼塊分隔符
語(yǔ)句的分隔符
一些特殊情況
真值測(cè)試
if/else三元表達(dá)式
為什么要在意布爾值
本章小結(jié)
本章習(xí)題
習(xí)題解答
第13章 while和for循環(huán)
while循環(huán)
一般格式
例子
break、continue、pass和循環(huán)else
一般循環(huán)格式
pass
continue
break
循環(huán)else
為什么要在意“模擬C 語(yǔ)言的while循環(huán)”
for循環(huán)
一般格式
例子
為什么要在意“文件掃描”
編寫(xiě)循環(huán)的技巧
循環(huán)計(jì)數(shù)器:while和range
非完備遍歷:range和分片
修改列表:range
并行遍歷:zip和map
產(chǎn)生偏移和元素:enumerate
本章小結(jié)
本章習(xí)題
習(xí)題解答
第14章 迭代器和解析,第一部分
迭代器:初探
文件迭代器
手動(dòng)迭代:iter和next
其他內(nèi)置類(lèi)型迭代器
列表解析:初探
列表解析基礎(chǔ)知識(shí)
在文件上使用列表解析
擴(kuò)展的列表解析語(yǔ)法
其他迭代環(huán)境
Python 3.0中的新的可迭代對(duì)象
range迭代器
map、zip和filter迭代器
多個(gè)迭代器 VS單個(gè)迭代器
字典視圖迭代器
其他迭代器主題
本章小結(jié)
本章習(xí)題
習(xí)題解答
第15章 文檔
Python文檔資源
#注釋
dir函數(shù)
文檔字符串:__doc__
PyDoc:help函數(shù)
PyDoc:HTML報(bào)表
標(biāo)準(zhǔn)手冊(cè)集
網(wǎng)絡(luò)資源
已出版的書(shū)籍
常見(jiàn)編寫(xiě)代碼的陷阱
本章小結(jié)
本章習(xí)題
習(xí)題解答
第三部分練習(xí)題
第四部分 函數(shù)
第16章 函數(shù)基礎(chǔ)
為何使用函數(shù)
編寫(xiě)函數(shù)
def語(yǔ)句
def語(yǔ)句是實(shí)時(shí)執(zhí)行的
第一個(gè)例子:定義和調(diào)用
定義
調(diào)用
Python中的多態(tài)
第二個(gè)例子:尋找序列的交集
定義
調(diào)用
重訪(fǎng)多態(tài)
本地變量
本章小結(jié)
本章習(xí)題
習(xí)題解答
第17章 作用域
Python作用域基礎(chǔ)
作用域法則
變量名解析:LEGB原則
作用域?qū)嵗?br />內(nèi)置作用域
在Python 2.6中違反通用性
global語(yǔ)句
最小化全局變量
最小化文件間的修改
其他訪(fǎng)問(wèn)全局變量的方法
作用域和嵌套函數(shù)
嵌套作用域的細(xì)節(jié)
嵌套作用域舉例
nonlocal語(yǔ)句
nonlocal基礎(chǔ)
nonlocal應(yīng)用
為什么使用nonlocal
本章小結(jié)
本章習(xí)題
習(xí)題解答
第18章 參數(shù)
傳遞參數(shù)
參數(shù)和共享引用
避免可變參數(shù)的修改
對(duì)參數(shù)輸出進(jìn)行模擬
特定的參數(shù)匹配模型
基礎(chǔ)知識(shí)
匹配語(yǔ)法
細(xì)節(jié)
關(guān)鍵字參數(shù)和默認(rèn)參數(shù)的實(shí)例
任意參數(shù)的實(shí)例
Python 3.0 Keyword-Only參數(shù)
min調(diào)用
滿(mǎn)分
加分點(diǎn)
結(jié)論
一個(gè)更有用的例子:通用set函數(shù)
模擬Python 3.0 print函數(shù)
使用Keyword-Only參數(shù)
為什么要在意:關(guān)鍵字參數(shù)
本章小結(jié)
本章習(xí)題
習(xí)題解答
第19章 函數(shù)的高級(jí)話(huà)題
函數(shù)設(shè)計(jì)概念
遞歸函數(shù)
用遞歸求和
編碼替代方案
循環(huán)語(yǔ)句VS遞歸
處理任意結(jié)構(gòu)
函數(shù)對(duì)象:屬性和注解
間接函數(shù)調(diào)用
函數(shù)內(nèi)省
函數(shù)屬性
Python 3.0中的函數(shù)注解
匿名函數(shù): lambda
lambda表達(dá)式
為什么使用lambda
如何(不要)讓Python代碼變得晦澀難懂
嵌套lambda和作用域
為什么要在意:回調(diào)
在序列中映射函數(shù):map
函數(shù)式編程工具:filter和reduce
本章小結(jié)
本章習(xí)題
習(xí)題解答
第20章 迭代和解析,第二部分
回顧列表解析:函數(shù)式編程工具
列表解析與map
增加測(cè)試和嵌套循環(huán)
列表解析和矩陣
理解列表解析
為什么要在意:列表解析和map
重訪(fǎng)迭代器:生成器
生成器函數(shù):yield VS return
生成器表達(dá)式:迭代器遇到列表解析
生成器函數(shù) VS 生成器表達(dá)式
生成器是單迭代器對(duì)象
用迭代工具模擬zip和map
為什么你會(huì)留意:?jiǎn)未蔚?br />內(nèi)置類(lèi)型和類(lèi)中的值生成
Python 3.0解析語(yǔ)法概括
解析集合和字典解析
針對(duì)集合和字典的擴(kuò)展的解析語(yǔ)法
對(duì)迭代的各種方法進(jìn)行計(jì)時(shí)
對(duì)模塊計(jì)時(shí)
計(jì)時(shí)腳本
計(jì)時(shí)結(jié)果
計(jì)時(shí)模塊替代方案
其他建議
函數(shù)陷阱
本地變量是靜態(tài)檢測(cè)的
默認(rèn)和可變對(duì)象
沒(méi)有return語(yǔ)句的函數(shù)
嵌套作用域的循環(huán)變量
本章小結(jié)
本章習(xí)題
習(xí)題解答
第四部分練習(xí)題
第五部分 模塊
第21章 模塊:宏偉藍(lán)圖
為什么使用模塊
Python程序架構(gòu)
如何組織一個(gè)程序
導(dǎo)入和屬性
標(biāo)準(zhǔn)庫(kù)模塊
import如何工作
1.搜索
2.編譯(可選)
3.運(yùn)行
模塊搜索路徑
配置搜索路徑
搜索路徑的變動(dòng)
sys.path列表
模塊文件選擇
高級(jí)的模塊選擇概念
第三方工具:distutils
本章小結(jié)
本章習(xí)題
習(xí)題解答
第22章 模塊代碼編寫(xiě)基礎(chǔ)
模塊的創(chuàng)建
模塊的使用
import語(yǔ)句
from語(yǔ)句
from *語(yǔ)句
導(dǎo)入只發(fā)生一次
import和from是賦值語(yǔ)句
文件間變量名的改變
import和from的對(duì)等性
from語(yǔ)句潛在的陷阱
模塊命名空間
文件生成命名空間
屬性名的點(diǎn)號(hào)運(yùn)算
導(dǎo)入和作用域
命名空間的嵌套
重載模塊
reload基礎(chǔ)
reload實(shí)例
為什么要在意:模塊重載
本章小結(jié)
本章習(xí)題
習(xí)題解答
第23章 模塊包
包導(dǎo)入基礎(chǔ)
包和搜索路徑設(shè)置
__init__.py包文件
包導(dǎo)入實(shí)例
包對(duì)應(yīng)的from語(yǔ)句和import語(yǔ)句
為什么要使用包導(dǎo)入
三個(gè)系統(tǒng)的傳說(shuō)
包相對(duì)導(dǎo)入
Python 3.0中的變化
相對(duì)導(dǎo)入基礎(chǔ)知識(shí)
為什么使用相對(duì)導(dǎo)入
相對(duì)導(dǎo)入的作用域
模塊查找規(guī)則總結(jié)
相對(duì)導(dǎo)入的應(yīng)用
為什么要在意:模塊包
本章小結(jié)
本章習(xí)題
習(xí)題解答
第24章 高級(jí)模塊話(huà)題
在模塊中隱藏?cái)?shù)據(jù)
最小化from *的破壞:_X和__all__
啟用以后的語(yǔ)言特性
混合用法模式:__name__和__main__
以__name__進(jìn)行單元測(cè)試
使用帶有__name__的命令行參數(shù)
修改模塊搜索路徑
Import語(yǔ)句和from語(yǔ)句的as擴(kuò)展
模塊是對(duì)象:元程序
用名稱(chēng)字符串導(dǎo)入模塊
過(guò)渡性模塊重載
模塊設(shè)計(jì)理念
模塊陷阱
頂層代碼的語(yǔ)句次序的重要性
from復(fù)制變量名,而不是連接
from *會(huì)讓變量語(yǔ)義模糊
reload不會(huì)影響from導(dǎo)入
reload、from以及交互模式測(cè)試
遞歸形式的from導(dǎo)入無(wú)法工作
本章小結(jié)
本章習(xí)題
習(xí)題解答
第五部分練習(xí)題
第六部分 類(lèi)和OOP
第25章 OOP:宏偉藍(lán)圖
為何使用類(lèi)
概覽OOP
屬性繼承搜索
類(lèi)和實(shí)例
類(lèi)方法調(diào)用
編寫(xiě)類(lèi)樹(shù)
OOP是為了代碼重用
本章小結(jié)
本章習(xí)題
習(xí)題解答
第26章 類(lèi)代碼編寫(xiě)基礎(chǔ)
類(lèi)產(chǎn)生多個(gè)實(shí)例對(duì)象
類(lèi)對(duì)象提供默認(rèn)行為
實(shí)例對(duì)象是具體的元素
第一個(gè)例子
類(lèi)通過(guò)繼承進(jìn)行定制
第二個(gè)例子
類(lèi)是模塊內(nèi)的屬性
類(lèi)可以截獲Python運(yùn)算符
第三個(gè)例子
為什么要使用運(yùn)算符重載
世界上最簡(jiǎn)單的Python類(lèi)
類(lèi)與字典的關(guān)系
本章小結(jié)
本章習(xí)題
習(xí)題解答
第27章 更多實(shí)例
步驟1:創(chuàng)建實(shí)例
編寫(xiě)構(gòu)造函數(shù)
在進(jìn)行中測(cè)試
以?xún)煞N方式使用代碼
版本差異提示
步驟2:添加行為方法
編寫(xiě)方法
步驟3:運(yùn)算符重載
提供打印顯示
步驟4:通過(guò)子類(lèi)定制行為
編寫(xiě)子類(lèi)
擴(kuò)展方法:不好的方式
擴(kuò)展方法:好的方式
多態(tài)的作用
繼承、定制和擴(kuò)展
OOP:大思路
步驟5:定制構(gòu)造函數(shù)
OOP比我們認(rèn)為的要簡(jiǎn)單
組合類(lèi)的其他方式
在Python 3.0中捕獲內(nèi)置屬性
步驟6:使用內(nèi)省工具
特殊類(lèi)屬性
一種通用顯示工具
實(shí)例與類(lèi)屬性的關(guān)系
工具類(lèi)的命名考慮
類(lèi)的最終形式
步驟7(最后一步):把對(duì)象存儲(chǔ)到數(shù)據(jù)庫(kù)中
Pickle和Shelve
在shelve數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)象
交互地探索shelve
更新shelve中的對(duì)象
未來(lái)方向
本章小結(jié)
本章習(xí)題
習(xí)題解答
第28章 類(lèi)代碼編寫(xiě)細(xì)節(jié)
class語(yǔ)句
一般形式
例子
方法
例子
調(diào)用超類(lèi)構(gòu)造函數(shù)
其他方法調(diào)用的可能性
繼承
屬性樹(shù)的構(gòu)造
繼承方法的專(zhuān)有化
類(lèi)接口技術(shù)
抽象超類(lèi)
Python 2.6和Python 3.0的抽象超類(lèi)
命名空間:完整的內(nèi)容
簡(jiǎn)單變量名:如果賦值就不是全局變量
屬性名稱(chēng):對(duì)象命名空間
Python命名空間的“禪”:賦值將變量名分類(lèi)
命名空間字典
命名空間鏈接
回顧文檔字符串
類(lèi)與模塊的關(guān)系
本章小結(jié)
本章習(xí)題
習(xí)題解答
第29章 運(yùn)算符重載
基礎(chǔ)知識(shí)
構(gòu)造函數(shù)和表達(dá)式:__init__和__sub__
常見(jiàn)的運(yùn)算符重載方法
索引和分片:__getitem__和__setitem__
攔截分片
Python 2.6中的分片和索引
索引迭代:__getitem__
迭代器對(duì)象:__iter__和__next__
用戶(hù)定義的迭代器
有多個(gè)迭代器的對(duì)象
成員關(guān)系:__contains__、__iter__和__getitem__
屬性引用:__getattr__和__setattr__
其他屬性管理工具
模擬實(shí)例屬性的私有性:第一部分
__repr__和__str__會(huì)返回字符串表達(dá)形式
右側(cè)加法和原處加法:__radd__和__iadd__
原處加法
Call表達(dá)式:__call__
函數(shù)接口和回調(diào)代碼
比較:__lt__、__gt__和其他方法
Python 2.6的__cmp__方法(已經(jīng)從Python 3.0中移除了)
布爾測(cè)試:__bool__和__len__
Python 2.6中的布爾
對(duì)象析構(gòu)函數(shù):__del__
本章小結(jié)
本章習(xí)題
習(xí)題解答
第30章 類(lèi)的設(shè)計(jì)
Python和OOP
通過(guò)調(diào)用標(biāo)記進(jìn)行重載(或不要)
OOP和繼承:“是一個(gè)”關(guān)系
OOP和組合:“有一個(gè)”關(guān)系
重訪(fǎng)流處理器
為什么要在意:類(lèi)和持續(xù)性
OOP和委托:“包裝”對(duì)象
類(lèi)的偽私有屬性
變量名壓縮概覽
為什么使用偽私有屬性
方法是對(duì)象:綁定或無(wú)綁定
在Python 3.0中,無(wú)綁定方法是函數(shù)
綁定方法和其他可調(diào)用對(duì)象
為什么要在意:綁定方法和回調(diào)函數(shù)
多重繼承:“混合”類(lèi)
編寫(xiě)混合顯示類(lèi)
類(lèi)是對(duì)象:通用對(duì)象的工廠(chǎng)
為什么有工廠(chǎng)
與設(shè)計(jì)相關(guān)的其他話(huà)題
本章小結(jié)
本章習(xí)題
習(xí)題解答
第31章 類(lèi)的高級(jí)主題
擴(kuò)展內(nèi)置類(lèi)型
通過(guò)嵌入擴(kuò)展類(lèi)型
通過(guò)子類(lèi)擴(kuò)展類(lèi)型
新式類(lèi)
新式類(lèi)變化
類(lèi)型模式變化
鉆石繼承變動(dòng)
新式類(lèi)的擴(kuò)展
slots實(shí)例
類(lèi)特性
__getattribute__和描述符
元類(lèi)
靜態(tài)方法和類(lèi)方法
為什么使用特殊方法
Python 2.6和Python 3.0中的靜態(tài)方法
靜態(tài)方法替代方案
使用靜態(tài)和類(lèi)方法
使用靜態(tài)方法統(tǒng)計(jì)實(shí)例
用類(lèi)方法統(tǒng)計(jì)實(shí)例
裝飾器和元類(lèi):第一部分
函數(shù)裝飾器基礎(chǔ)
裝飾器例子
類(lèi)裝飾器和元類(lèi)
更多詳細(xì)信息
類(lèi)陷阱
修改類(lèi)屬性的副作用
修改可變的類(lèi)屬性也可能產(chǎn)生副作用
多重繼承:順序很重要
類(lèi)、方法以及嵌套作用域
Python中基于委托的類(lèi):__getattr__和內(nèi)置函數(shù)
“過(guò)度包裝”
本章小結(jié)
本章習(xí)題
習(xí)題解答
第六部分 練習(xí)題
為什么要在意:大師眼中的OOP
第七部分 異常和工具
第32章 異?;A(chǔ)
為什么使用異常
異常的角色
異常處理:簡(jiǎn)明扼要
默認(rèn)異常處理器
捕獲異常
引發(fā)異常
用戶(hù)定義的異常
終止行為
為什么要在意:錯(cuò)誤檢查
本章小結(jié)
本章習(xí)題
習(xí)題解答
第33章 異常編碼細(xì)節(jié)
try/except/else語(yǔ)句
try語(yǔ)句分句
try/else分句
例子:默認(rèn)行為
例子:捕捉內(nèi)置異常
try/finally語(yǔ)句
例子:利用try/finally編寫(xiě)終止行為
統(tǒng)一try/except/finally語(yǔ)句
統(tǒng)一try語(yǔ)句語(yǔ)法
通過(guò)嵌套合并finally和except
合并try的例子
raise語(yǔ)句
利用raise傳遞異常
Python 3.0異常鏈:raise from
assert語(yǔ)句
例子:收集約束條件(但不是錯(cuò)誤)
with/as環(huán)境管理器
基本使用
環(huán)境管理協(xié)議
本章小結(jié)
本章習(xí)題
習(xí)題解答
第34章 異常對(duì)象
異常:回到未來(lái)
字符串異常很簡(jiǎn)單
基于類(lèi)的異常
類(lèi)異常例子
為什么使用類(lèi)異常
內(nèi)置Exception類(lèi)
內(nèi)置異常分類(lèi)
默認(rèn)打印和狀態(tài)
定制打印顯示
定制數(shù)據(jù)和行為
提供異常細(xì)節(jié)
提供異常方法
本章小結(jié)
本章習(xí)題
習(xí)題解答
第35章 異常的設(shè)計(jì)
嵌套異常處理器
例子:控制流程嵌套
例子:語(yǔ)法嵌套化
異常的習(xí)慣用法
異常不總是錯(cuò)誤
函數(shù)信號(hào)條件和raise
關(guān)閉文件和服務(wù)器連接
在try外進(jìn)行調(diào)試
運(yùn)行進(jìn)程中的測(cè)試
關(guān)于sys.exc_info
與異常有關(guān)的技巧
應(yīng)該包裝什么
捕捉太多:避免空except語(yǔ)句
捕捉過(guò)少:使用基于類(lèi)的分類(lèi)
核心語(yǔ)言總結(jié)
Python工具集
大型項(xiàng)目的開(kāi)發(fā)工具
本章小結(jié)
第七部分練習(xí)題
第八部分 高級(jí)話(huà)題注
第36章 Unicode和字節(jié)字符串
Python 3.0中的字符串修改
字符串基礎(chǔ)知識(shí)
字符編碼方法
Python的字符串類(lèi)型
文本和二進(jìn)制文件
Python 3.0中的字符串應(yīng)用
常量和基本屬性
轉(zhuǎn)換
編碼Unicode字符串
編碼ASCII文本
編碼非ASCII文本
編碼和解碼非ASCII文本
其他Unicode編碼技術(shù)
轉(zhuǎn)換編碼
在Python 2.6中編碼Unicode字符串
源文件字符集編碼聲明
使用Python 3.0 Bytes對(duì)象
方法調(diào)用
序列操作
創(chuàng)建bytes對(duì)象的其他方式
混合字符串類(lèi)型
使用Python 3.0(和Python 2.6)bytearray對(duì)象
使用文本文件和二進(jìn)制文件
文本文件基礎(chǔ)
Python 3.0中的文本和二進(jìn)制模式
類(lèi)型和內(nèi)容錯(cuò)誤匹配
使用Unicode文件
在Python 3.0中讀取和寫(xiě)入U(xiǎn)nicode
在Python 3.0中處理BOM
Python 2.6中的Unicode文件
Python 3.0中其他字符串工具的變化
re模式匹配模塊
Struct二進(jìn)制數(shù)據(jù)模塊
pickle對(duì)象序列化模塊
XML解析工具
本章小結(jié)
本章習(xí)題
習(xí)題解答
第37章 管理屬性
為什么管理屬性
插入在屬性訪(fǎng)問(wèn)時(shí)運(yùn)行的代碼
特性
基礎(chǔ)知識(shí)
第一個(gè)例子
計(jì)算的屬性
使用裝飾器編寫(xiě)特性
描述符
基礎(chǔ)知識(shí)
第一個(gè)示例
計(jì)算的屬性
在描述符中使用狀態(tài)信息
特性和描述符是如何相關(guān)的
__getattr__和__getattribute__
基礎(chǔ)知識(shí)
第一個(gè)示例
計(jì)算屬性
__getattr__和__getattribute__比較
管理技術(shù)比較
攔截內(nèi)置操作屬性
重訪(fǎng)基于委托的Manager
示例:屬性驗(yàn)證
使用特性來(lái)驗(yàn)證
使用描述符驗(yàn)證
使用__getattr__來(lái)驗(yàn)證
使用__getattribute__驗(yàn)證
本章小結(jié)
本章習(xí)題
習(xí)題解答
第38章 裝飾器
什么是裝飾器
管理調(diào)用和實(shí)例
管理函數(shù)和類(lèi)
使用和定義裝飾器
為什么使用裝飾器
基礎(chǔ)知識(shí)
函數(shù)裝飾器
類(lèi)裝飾器
裝飾器嵌套
裝飾器參數(shù)
裝飾器管理函數(shù)和類(lèi)
編寫(xiě)函數(shù)裝飾器
跟蹤調(diào)用
狀態(tài)信息保持選項(xiàng)
類(lèi)錯(cuò)誤之一:裝飾類(lèi)方法
計(jì)時(shí)調(diào)用
添加裝飾器參數(shù)
編寫(xiě)類(lèi)裝飾器
單體類(lèi)
跟蹤對(duì)象接口
類(lèi)錯(cuò)誤之二:保持多個(gè)實(shí)例
裝飾器與管理器函數(shù)的關(guān)系
為什么使用裝飾器(重訪(fǎng))
直接管理函數(shù)和類(lèi)
示例:“私有”和“公有”屬性
實(shí)現(xiàn)私有屬性
實(shí)現(xiàn)細(xì)節(jié)之一
公有聲明的泛化
實(shí)現(xiàn)細(xì)節(jié)之二
開(kāi)放問(wèn)題
Python不是關(guān)于控制
示例:驗(yàn)證函數(shù)參數(shù)
目標(biāo)
針對(duì)位置參數(shù)的一個(gè)基本范圍測(cè)試裝飾器
針對(duì)關(guān)鍵字和默認(rèn)泛化
實(shí)現(xiàn)細(xì)節(jié)
開(kāi)放問(wèn)題
裝飾器參數(shù) VS 函數(shù)注解
其他應(yīng)用程序:類(lèi)型測(cè)試
本章小結(jié)
本章習(xí)題
習(xí)題解答
第39章 元類(lèi)
要么是元類(lèi),要么不是元類(lèi)
提高魔力層次
“輔助”函數(shù)的缺點(diǎn)
元類(lèi)與類(lèi)裝飾器的關(guān)系:第一回合
元類(lèi)模型
類(lèi)是類(lèi)型的實(shí)例
元類(lèi)是Type的子類(lèi)
Class語(yǔ)句協(xié)議
聲明元類(lèi)
編寫(xiě)元類(lèi)
基本元類(lèi)
定制構(gòu)建和初始化
其他元類(lèi)編程技巧
實(shí)例與繼承的關(guān)系
示例:向類(lèi)添加方法
手動(dòng)擴(kuò)展
基于元類(lèi)的擴(kuò)展
元類(lèi)與類(lèi)裝飾器的關(guān)系:第二回合
示例:對(duì)方法應(yīng)用裝飾器
用裝飾器手動(dòng)跟蹤
用元類(lèi)和裝飾器跟蹤
把任何裝飾器應(yīng)用于方法
元類(lèi)與類(lèi)裝飾器的關(guān)系:第三回合
“可選的”語(yǔ)言功能
本章小結(jié)
本章習(xí)題
習(xí)題解答
第九部分 附錄注
附錄A 安裝和配置
附錄B 各部分練習(xí)題的解答
章節(jié)摘錄
版權(quán)頁(yè):插圖:除了較大的結(jié)構(gòu)性目標(biāo),類(lèi)設(shè)計(jì)往往也必須解決名稱(chēng)用法。在第五部分中,我們學(xué)到了每個(gè)在模塊文件頂層賦值的變量名都會(huì)導(dǎo)出。在默認(rèn)情況下,類(lèi)也是這樣:數(shù)據(jù)隱藏是一個(gè)慣例,客戶(hù)端可以讀取或修改任何它們想要的類(lèi)或?qū)嵗膶傩浴J聦?shí)上,用C++術(shù)語(yǔ)來(lái)講,屬性都是“public”和“virtual”,在任意地方都可進(jìn)行讀取,并且在運(yùn)行時(shí)進(jìn)行動(dòng)態(tài)查找。如今依然如此。然而,Python也支持變量名壓縮(mangling,相當(dāng)于擴(kuò)張)的概念,讓類(lèi)內(nèi)某些變量局部化。壓縮后的變量名有時(shí)會(huì)被誤認(rèn)為是“私有屬性”,但這其實(shí)只是一種把類(lèi)所創(chuàng)建的變量名局部化的方式而已:名稱(chēng)壓縮并無(wú)法阻止類(lèi)外代碼對(duì)它的讀取。這種功能主要是為了避免實(shí)例內(nèi)的命名空間的沖突,而不是限制變量名的讀取。因此,壓縮的變量名最好稱(chēng)為“偽私有”,而不是“私有”。偽私有變量名是高級(jí)且完全可選的功能,除非你開(kāi)始在多人的項(xiàng)目中編寫(xiě)大型的類(lèi)的層次,否則可能不會(huì)覺(jué)得有什么用處。實(shí)際上,即便當(dāng)它們可能應(yīng)該使用的時(shí)候,也并非總是使用它們——更通俗地說(shuō),Python程序員用一個(gè)單個(gè)的下劃線(xiàn)來(lái)編寫(xiě)內(nèi)部名稱(chēng)(例如,X),這只是一個(gè)非正式的慣例,讓你知道這是一個(gè)不應(yīng)該修改的名字(它對(duì)Python自身來(lái)說(shuō)沒(méi)有什么意義)。
媒體關(guān)注與評(píng)論
對(duì)于那些想要開(kāi)始使用Python編程的人來(lái)說(shuō),本書(shū)是我所推薦圖書(shū)中的首選?!薄 狣oug Hellmann Racemi公司,高級(jí)軟件工程師
編輯推薦
Google和YouTube由于PythonF的高可適應(yīng)性、易于維護(hù)以及適合于快速開(kāi)發(fā)而采用它?!禤ython學(xué)習(xí)手冊(cè)(第4版)》將幫助你使用Python編寫(xiě)出高質(zhì)量、高效的并且易于與其他語(yǔ)言和工具集成的代碼。《Python學(xué)習(xí)手冊(cè)(第4版)》根據(jù)Python專(zhuān)家MarkLutz的著名培訓(xùn)課程編寫(xiě)而成,是易于掌握和自學(xué)的Python教程?!禤ython學(xué)習(xí)手冊(cè)(第4版)》每一章都對(duì)Python語(yǔ)言的關(guān)鍵內(nèi)容做單獨(dú)講解,并且配有章首習(xí)題,便于你學(xué)習(xí)新的技能并鞏固加深自己的理解。書(shū)中配有大量注釋的示例以及圖表,它們都將幫助你輕松地學(xué)習(xí)Python3.0。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
Python學(xué)習(xí)手冊(cè)(第4版) PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版