Python實戰指南——手把手教你掌握300個精彩案例( 簡體 字) | |
作者:周家安 | 類別:1. -> 程式設計 -> Python |
出版社:清華大學出版社 | 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月 |