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