3dwoo大學簡體電腦書店
Python實戰指南——手把手教你掌握300個精彩案例
( 簡體 字)
作者:周家安類別:1. -> 程式設計 -> Python
出版社:清華大學出版社Python實戰指南——手把手教你掌握300個精彩案例 3dWoo書號: 53235
詢問書籍請說出此書號!
有庫存
NT售價: 445
出版日:7/1/2020
頁數:424
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787302548515 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章字符串處理
1.1字符串表達式
案例1單行文本
案例2處理字符串中出現的引號
案例3多行文本
1.2代碼注釋與幫助文檔
案例4在代碼中寫注釋
案例5設置代碼文件的字符編碼
案例6為代碼對象撰寫幫助文檔
1.3input與print函數
案例7接收鍵盤輸入
案例8打印屏幕消息
案例9打印進度條
案例10將文本打印到文件中
案例11打印文本時使用分隔符
案例12使用sys.stdout打印文本
1.4格式化字符串
案例13輸出十六進制字符串
案例14設置字符串的對齊方式
案例15數字的千位分隔符
案例16“_”分隔符
案例17自定義日期格式
案例18使用format方法
案例19省略格式占位符的名稱和序號
案例20字符串模板
案例21字符串模板的安全替換模式
案例22文本縮進
案例23嵌套使用格式化語法
1.5str類的常用方法
案例24轉換字母的大小寫
案例25用“0”填充字符串
案例26對齊方式
案例27查找子字符串
案例28startswith與endswith方法
案例29統計子字符串出現的次數
案例30文本的標題樣式
案例31串聯字符串
案例32拆分字符串
案例33替換字符串
案例34去掉字符串首尾的空格
案例35lstrip與rstrip方法
案例36去除字符串首尾的特定字符
1.6字符串編碼
案例37編碼與解碼
案例38ord與chr函數
第2章模塊與包
2.1模塊
案例39獨立運行模塊
案例40導入模塊
案例41使用from…import語句導入模塊
案例42__all__變量的作用
案例43以編程方式生成__all__變量
案例44為模塊編寫幫助文檔
案例45特殊的模塊名稱——__main__
案例46__file__與__cached__屬性
2.2包
案例47讓普通目錄變成包
案例48__init__.py文件
案例49合并子模塊的成員列表
案例50合并多個__init__.py文件中的__all__屬性
案例51__main__.py文件的用途
案例52基于名稱空間的包
案例53__package__屬性
案例54自定義包或模塊的搜索路徑
案例55從.zip文件中導入包
2.3以編程方式導入模塊
案例56檢查是否能夠導入某個模塊
案例57使用import_module函數導入模塊
案例58重新載入模塊
第3章變量與名稱空間
3.1變量與賦值
案例59聲明變量
案例60類型批注
案例61聲明語句也是變量賦值
案例62as關鍵字與賦值
案例63組合賦值法
案例64組合賦值與表達式列表
3.2名稱空間
案例65獲取全局名稱空間的字典
案例66獲取局部名稱空間的字典
案例67直接更新名稱空間字典
案例68使用global關鍵字聲明變量
案例69使用nonlocal關鍵字聲明變量
第4章代碼流程控制
4.1順序執行
案例70最簡單的流程
案例71聲明階段與調用階段
4.2分支語句
案例72單路分支
案例73雙路分支
案例74更復雜的分支語句
案例75分支語句的嵌套使用
4.3循環
案例76輸出從1到10各個整數的平方根
案例77使用for循環
案例78for循環與range函數
案例79組成每個數位均不相同的三位數
案例80求“水仙花數”
案例81跳出循環
4.4異常處理
案例82引發異常
案例83捕捉異常
案例84異常處理中的“清理”代碼
案例85else子句的作用
案例86省略except子句
案例87自定義異常類
第5章數學運算
5.1運算符
5.1.1算術運算符
案例88四則計算器
案例89指數運算符
案例90分解整數位
案例91連接字符串
案例92當字符串遇上乘法運算符
案例93運算優先級
5.1.2比較運算符
案例94自定義的相等比較
案例95比較對象的大小
案例96自定義的大小比較
5.1.3位運算符
案例97二進制位的邏輯運算
案例98移動二進制位
5.1.4邏輯運算符
案例99查找同時包含a、e兩個字母的單詞
案例100or運算符
案例101自定義布爾運算
5.1.5其他運算符
案例102對象標識的比較運算
案例103not運算符
案例104檢查類型成員的存在性
案例105復合賦值運算符
案例106模擬C語言的“三目”運算符
5.2浮點數的擴展功能
案例107Decimal類的簡單使用
案例108通過元組對象來初始化Decimal類
案例109使用DecimalTuple來初始化Decimal對象
案例110設置浮點數的精度
案例111基于線程的浮點數環境
5.3隨機數
案例112產生一個隨機整數
案例113從序列中隨機取出一個元素
案例114生成0~1的隨機數
案例115從原序列中選取隨機樣本組成新序列
案例116打亂列表中的元素順序
5.4數學函數
案例117取整函數
案例118“四舍六入五留雙”算法
案例119求絕對值
案例120最大值與最小值
案例121排序函數——sorted
案例122按照字符串的長度排序
案例123依據員工的年齡排序
案例124以自然常數為底的指數運算
案例125求以10為底數的對數
案例126獲取浮點數的分數與整數部分
案例127計算最大公約數
案例128階乘運算
5.5三角函數
案例129弧度制與角度制之間的轉換
案例130常用的三角函數
案例131反三角函數
案例132歐氏距離
案例133閔氏距離公式
5.6統計學函數
案例134求和函數
案例135算術平均數
案例136求字符串樣本的平均長度
案例137調和平均數
案例138中位數
案例139從分組數據中求中位數
案例140眾數
案例141方差
案例142標準差
5.7分式
案例143如何案例化Fraction類
案例144限制分母的大小
案例145常見的分式運算
5.8日期與時間
案例146日期之間的比較
案例147計算時間差
案例148timedelta類的乘法運算
第6章函數式編程
6.1函數的定義與調用
案例149定義函數
案例150函數的調用方法
案例151函數的定義順序
案例152如何更改函數的引用名稱
6.2向函數傳遞參數的方式
案例153按位置傳遞參數與按關鍵字傳遞參數
案例154只能按關鍵字傳遞的參數
案例155只能按位置傳遞的參數
6.3可變參數
案例156可變的位置參數
案例157可變的關鍵字參數
案例158可變參數的混合使用
案例159可變參數與非可變參數的混合使用
6.4裝飾器
案例160將函數對象作為參數傳遞
案例161嵌套的函數定義
案例162實現簡單的裝飾器
案例163限制調用函數的Python版本
案例164實現只能使用三次的裝飾器
6.5lambda表達式
案例165打印滿足條件的數字
案例166按數字的絕對值大小排序
第7章屬性系統
7.1動態讀寫屬性
案例167簡單的屬性訪問
案例168刪除屬性
案例169__dict__成員
案例170區分類型屬性與案例屬性
7.2與屬性訪問有關的函數
案例171獲取與設置屬性
案例172檢查屬性是否存在
案例173delattr()函數
案例174vars()函數
7.3__slots__成員
案例175禁止創建__dict__成員
案例176派生類需要重新定義__slots__成員
案例177讓對象案例的屬性變成只讀屬性
案例178以編程方式生成__slots__成員
案例179類變量與__slots__之間的沖突
7.4自定義的屬性訪問
案例180屬性協議
案例181禁止訪問模塊中的特定成員
7.5描述符
案例182描述符的協議方法
案例183作用于類級別的描述符
案例184防止描述符被替換
案例185實現基于特定類型的描述符
案例186如何讓案例屬性存儲獨立的值
案例187使用property類來封裝屬性值
案例188將property類作為裝飾器使用
案例189在模塊中使用描述符
第8章類與對象
8.1類的定義與案例化
案例190class關鍵字
案例191類型的案例化
案例192__new__方法與__init__方法
案例193帶參數的構造函數
案例194實現__del__方法
8.2方法成員
案例195案例方法
案例196類方法
案例197靜態方法
8.3元類
案例198使用type類創建新類型
案例199元類的實現過程
案例200向元類傳遞參數
案例201元類與繼承
案例202__prepare__方法
8.4繼承與多態
案例203類型派生
案例204類型繼承中的多態
案例205覆蓋基類的成員
案例206訪問基類的成員
案例207使用super類來訪問基類的成員
案例208調用基類的類方法
案例209super類的非綁定用法
案例210方法解析順序(MRO)
案例211“鴨子”類型
案例212issubclass()函數與派生類檢查
案例213自定義派生類的檢查邏輯
案例214初始化派生類型
案例215抽象類
案例216虛擬子類
案例217獲取類的直接子類
8.5對象復制
案例218id()函數
案例219淺拷貝與深拷貝
8.6特殊成員
案例220__str__方法與__repr__方法
案例221模擬函數調用
案例222自定義對象目錄
案例223獲取對象案例所占用的內存大小
8.7上下文管理
案例224with語句
案例225讓自定義的類型支持上下文管理
案例226contextmanager裝飾器
案例227使用closing類來釋放上下文資源
第9章數據結構
9.1列表
案例228初始化列表對象
案例229添加元素
案例230刪除元素
案例231自定義排序
案例232反轉列表
案例233統計某個元素的出現次數
案例234將列表對象作為棧結構使用
案例235合并列表
案例236重復列表中的元素
9.2元組
案例237元組的初始化方法
案例238帶命名字段的元組
案例239將帶命名字段的元組轉換為字典
9.3字典
案例240字典的案例化方法
案例241字典與for循環
案例242從其他數據來源更新字典
案例243可以調整元素次序的字典
案例244合并字典
案例245計數器
9.4集合
案例246創建集合案例
案例247合并集合
案例248集合的包含關系
案例249交集與差集
9.5數組
案例250案例化數組
案例251修改數組中的元素
案例252將數組內容存入文件
9.6枚舉
案例253定義枚舉類
案例254只能使用int值的枚舉
案例255帶標志位的枚舉
案例256禁止使用重復的成員值
9.7迭代器
案例257iter函數與next函數
案例258yield語句與迭代生成器
案例259自定義的迭代器
9.8自定義序列
案例260實現按索引訪問的集合
案例261統計集合的長度
案例262字典對象的訪問協議
9.9其他
案例263切片
案例264in與notin運算符
第10章異步編程
10.1多線程
案例265創建并啟動新線程
案例266使用線程鎖
案例267等待事件信號
案例268屏障
10.2異步等待
案例269定義異步函數
案例270執行異步函數
案例271案例化Task對象
第11章網絡編程
11.1Socket編程
案例272TCP通信協議
案例273UDP通信協議
案例274TCPServer與UDPServer
11.2HTTP與CGI編程
案例275使用HTTP協議下載文件
案例276簡單的HTTP服務器
案例277編寫CGI腳本
案例278設置CGI腳本的查找目錄
第12章文件與I/O
12.1目錄操作
案例279創建與刪除目錄
案例280創建與刪除嵌套目錄
12.2文件與I/O操作
案例281讀寫文本文件
案例282讀寫二進制文件
案例283內存流
12.3數據文件
案例284讀寫CSV文件
案例285讀寫JSON文件
案例286生成zip文件
第13章應用程序界面開發——Tk
13.1Tk應用程序的初始化
案例287使用Tk類
案例288Frame容器
13.2布局
案例289填充與停靠
案例290網格布局
案例291通過坐標來布局控件
13.3常用控件
案例292前景顏色與背景顏色
案例293設置控件字體
案例294可重復執行命令的按鈕
案例295讓按鈕控件的command參數調用多個函數
案例296密碼輸入框
案例297單選按鈕
案例298復選按鈕
案例299列表控件
案例300使用ttk控件庫
本書以300個不同類型的案例引導初學者快速入門,全面掌握Python語言編程技巧。這些案例各具特色,容易上手,趣味性強,學習效率高。本書內容涵蓋字符串處理、包與模塊管理、變量名稱空間、代碼流程控制、數學運算、面向對象編程、常用數據結構、異步編程、網絡編程、文件與I/O、Tk組件與應用程序界面開發。
本書配套提供所有案例的源代碼,便于讀者動手實踐甚至進行二次開發。本書適合作為廣大高校計算機專業或相關培訓機構的Python課程教材,也可以作為Python技術開發者的自學參考用書。
前言

Python誕生于20世紀90年代初,是一門開源的、易學易用的編程語言,被廣泛應用于科學計算、數據分析、Web后端開發等領域。近年來,Python也被廣泛應用于機器學習與人工智能。
Python是一種解釋型語言,既能以交互方式執行代碼,也可以直接執行代碼腳本。Python支持面向對象編程,同時也具有很強的動態性(如動態解析類型、動態屬性等)。
本書用一個個單獨的小案例來演示Python編程相關的各種知識點與技巧。每個案例都分為兩部分——【導語】部分對案例中用到的知識要點進行講解與說明,【操作流程】部分演示案例程序的實現過程。
本書的編程案例將覆蓋以下內容:
 字符串處理
 包與模塊管理
 代碼流程控制
 常用的內置函數與運算符
 函數式編程
 面向對象編程
 常見數據結構
 異步編程與網絡編程
 輸入/輸出技術
 圖形化用戶界面編程
希望讀者在學習書中案例時,不要直接復制代碼,而是參考書中的實現步驟,把每個案例都從頭到尾做一遍。之后可以根據自己對知識點的理解,對書中案例進行修改與擴展。本書的演示代碼僅針對知識點而設計,因此都比較簡單,容易掌握,不會出現過多的干擾性代碼,初學者能夠看懂。


本書配套提供了書中案例的程序代碼,掃描下面二維碼即可下載。


程序代碼


由于作者能力有限,書中難免有不妥之處。歡迎廣大讀者不吝賜教,以完善本書內容。
作者
2020年1月


pagetop