本書以智能時(shí)代為背景,介紹如何利用人工智能技術(shù)輔助Python的開發(fā),更好更高效地解決實(shí)際問題。全書內(nèi)容分為5章:讓Python在機(jī)器上跑起來、熟悉Python語言、用Python對接API、掌握編寫代碼的能力、用Python程序?qū)崿F(xiàn)人機(jī)交互。
本書以任務(wù)為驅(qū)動(dòng),并且案例都來源于生活和工作的實(shí)際場景!白觥迸c“學(xué)”相結(jié)合,將理論知識和實(shí)際操作呈現(xiàn)給讀者,生動(dòng)有趣地介紹了從安裝Python等入門知識,到用簡短代碼解決各種應(yīng)用場景中的大問題的技能提升。內(nèi)容系統(tǒng)全面。
本書適合學(xué)習(xí)Python語言編程的入門讀者閱讀,也適合Python編程技能提升的讀者使用。
導(dǎo)讀 為什么要學(xué)習(xí)Python 001
第1章 讓Python在機(jī)器上跑起來 003
1.1 跟我做:安裝Anaconda 004
1.1.1 跟我學(xué):Python虛環(huán)境 005
1.1.2 跟我學(xué):用Anaconda界面管理Python虛環(huán)境 006
1.1.3 跟我學(xué):用Anaconda命令行管理Python虛環(huán)境 007
1.2 跟我做:安裝Python開發(fā)工具 007
1.3 跟我做:一行命令創(chuàng)建FTP服務(wù)器,并共享電腦文件 008
1.3.1 跟我學(xué):主動(dòng)模式下連接FTP服務(wù)器的方法 010
1.3.2 跟我學(xué):了解Python命令后面的參數(shù) 012
1.3.3 跟我學(xué):什么是模塊 012
1.3.4 跟我學(xué):第三方模塊的安裝方法 013
1.3.5 跟我做:為Anaconda添加國內(nèi)鏡像 014
1.4 跟我做:在Spyder中編寫代碼,獲取本機(jī)IP 015
1.4.1 跟我學(xué):快速了解Spyder運(yùn)行功能 017
1.4.2 使用Python的“幫助” 018
1.4.3 跟我做:用命令行啟動(dòng)Python程序,并傳入?yún)?shù) 019
1.4.4 跟我做:用Spyder啟動(dòng)Python程序,并傳入?yún)?shù) 019
1.4.5 練一練:完成一個(gè)被動(dòng)模式的FTP服務(wù)器 020
1.5 總結(jié) 021
第2章 熟悉Python語言 022
2.1 跟我做:2行代碼將漢字轉(zhuǎn)成拼音,幫小學(xué)生復(fù)習(xí)生字 023
2.1.1 跟我學(xué):快速掌握列表類型 023
2.1.2 跟我學(xué):活用print語法與字符串 024
2.1.3 跟我學(xué):精通模塊的多種導(dǎo)入方式 029
2.1.4 跟我做:從GitHub上直接導(dǎo)入模塊 031
2.1.5 跟我做:一行代碼實(shí)現(xiàn)所有模塊自動(dòng)導(dǎo)入 032
2.2 跟我做:3行代碼實(shí)現(xiàn)OCR——圖片轉(zhuǎn)文字 033
2.2.1 跟我學(xué):Python中的“序列”類型操作 035
2.2.2 跟我學(xué):列表推導(dǎo)式 036
2.3 跟我做:6行代碼將運(yùn)行結(jié)果導(dǎo)入到Word文檔中 037
2.3.1 跟我學(xué):了解字符串類型的常用函數(shù) 038
2.3.2 跟我學(xué):f-string形式的格式化用法 039
2.3.3 跟我學(xué):了解字符串中的轉(zhuǎn)義字符 041
2.4 跟我做:4行代碼實(shí)現(xiàn)TTS——朗讀文字 044
2.4.1 跟我學(xué):用for語句了解更多TTS模塊屬性 044
2.4.2 跟我學(xué):精通Python語法中的循環(huán)處理及使用策略 045
2.4.3 練一練:用TTS自定義聲音朗讀英文 047
2.4.4 跟我學(xué):了解Python中的類 048
2.4.5 跟我學(xué):類的實(shí)例化 049
2.4.6 跟我學(xué):了解Python中的子類 051
2.4.7 跟我做:以類的方式將PPT中的文字提取到Word里 053
2.5 跟我做:3行代碼實(shí)現(xiàn)可以上傳圖片的web網(wǎng)站 055
2.5.1 跟我學(xué):了解Python語言中變量的本質(zhì)——對象 057
2.5.2 練一練:嘗試使用Python語言中與類型相關(guān)的其他函數(shù) 059
2.6 總結(jié) 059
2.6.1 練一練:編寫程序?qū)崿F(xiàn)生字測試試卷 059
2.6.2 練一練:編寫程序?qū)崿F(xiàn)自動(dòng)聽寫訓(xùn)練 059
2.6.3 練一練:借助ChatGPT實(shí)現(xiàn)一個(gè)給小朋友讀故事的機(jī)器人 060
第3章 用Python對接API 062
3.1 跟我做:使用API接入ChatGPT——實(shí)現(xiàn)程序可控的聊天機(jī)器人 063
3.1.1 跟我學(xué):了解ChatGPTAPI模塊的返回格式——字典類型 064
3.1.2 跟我學(xué):了解openai模塊的更多功能 066
3.1.3 跟我學(xué):了解更多國內(nèi)AIGC大模型平臺所提供的API服務(wù) 066
3.2 跟我做:3行代碼實(shí)現(xiàn)摳圖功能 069
3.2.1 跟我學(xué):基于網(wǎng)絡(luò)請求的方法調(diào)用API 071
3.2.2 練一練:利用網(wǎng)絡(luò)請求調(diào)用API的方式實(shí)現(xiàn)將人物照片轉(zhuǎn)成動(dòng)漫 071
3.2.3 跟我學(xué):用Python語言對文件進(jìn)行操作 073
3.2.4 跟我學(xué):使用with語句簡化代碼 076
3.2.5 跟我做:本地部署摳圖模型 077
3.3 跟我做:4行代碼下載任意視頻 079
3.3.1 跟我做:格式化URL的視頻信息 083
3.3.2 跟我做:用Pandas模塊處理URL的視頻信息 085
3.3.3 練一練:借助ChatGPT完成手動(dòng)下載音、視頻文件,并進(jìn)行合并 088
3.3.4 跟我做:4行代碼實(shí)現(xiàn)自動(dòng)發(fā)送郵件 089
3.3.5 練一練:制作一個(gè)在線服務(wù),提取視頻文件并轉(zhuǎn)存到郵箱 092
3.4 跟我做:本地部署語音識別模型,并提供API服務(wù) 092
3.4.1 跟我做:從麥克風(fēng)錄音,并對其進(jìn)行語音識別 094
3.4.2 跟我學(xué):了解Python中的函數(shù) 096
3.4.3 跟我學(xué):了解Base64編碼 097
3.4.4 跟我學(xué):了解Python中的異常處理 100
3.4.5 跟我做:4行代碼從音頻文件中提取文字 105
3.5 跟我做:本地部署大語言模型,并實(shí)現(xiàn)類似ChatGPT功能 107
3.5.1 跟我學(xué):用量化技術(shù)降低大語言模型對算力的需求 110
3.5.2 跟我學(xué):更靈活地運(yùn)行大語言模型 111
3.5.3 跟我做:實(shí)現(xiàn)基于web界面的本地大語言模型 115
3.5.4 跟我做:部署本地大語言模型并提供與ChatGPT相同的API服務(wù) 117
3.5.5 跟我學(xué):了解Python中的requirements.txt 120
3.5.6 跟我學(xué):了解獲取更多前沿大模型的渠道 122
3.6 總結(jié) 122
3.6.1 練一練:本地部署圖像修復(fù)工具,支持擦除并替換圖片上的任何東西 123
3.6.2 練一練:實(shí)現(xiàn)一個(gè)提取視頻字幕的全自動(dòng)工具 123
第4章 掌握編寫代碼的能力 124
4.1 跟我做:15行代碼實(shí)現(xiàn)拼接身份證反正面的web程序 125
4.1.1 跟我學(xué):為函數(shù)添加默認(rèn)參數(shù) 126
4.1.2 跟我學(xué):掌握函數(shù)調(diào)用的更多方式? 127
4.2 跟我做:用封裝模塊的方式為圖片加水印? 132
4.2.1 跟我學(xué):了解模塊的屬性 134
4.2.2 跟我做:17行代碼為加水印函數(shù)添加web交互功能? 135
4.2.3 跟我學(xué):了解模塊的導(dǎo)入限制? 136
4.2.4 跟我做:為圖片添加隱藏水印? 137
4.3 跟我做:30行代碼實(shí)現(xiàn)人臉檢測 138
4.3.1 跟我學(xué):了解更高效的數(shù)據(jù)處理模塊——NumPy 140
4.3.2 跟我學(xué):全面掌握圖像處理模塊——Pillow 141
4.3.3 跟我做:40行代碼實(shí)現(xiàn)按證件照尺寸裁剪圖片 146
4.3.4 跟我學(xué):掌握Python中的文件名處理 148
4.4 跟我做:20行代碼為1寸照片換底色 150
4.4.1 跟我學(xué):全面掌握NumPy模塊 151
4.4.2 跟我學(xué):用GPU優(yōu)化NumPy模塊的運(yùn)算速度 160
4.4.3 跟我做:9行代碼實(shí)現(xiàn)美顏功能 162
4.4.4 跟我做:10行代碼實(shí)現(xiàn)基于web的微調(diào)美顏功能? 163
4.5 總結(jié) 165
4.5.1 練一練:實(shí)現(xiàn)一個(gè)端到端的證件照制作web程序? 166
第5章 用Python程序?qū)崿F(xiàn)人機(jī)交互 167
5.1 跟我做:用Python實(shí)現(xiàn)交互式前端,管理自己的運(yùn)動(dòng)計(jì)劃 168
5.1.1 跟我學(xué):了解條件判斷語句(if、else)的妙用 170
5.1.2 跟我學(xué):認(rèn)識Python中的匿名函數(shù)——lambda 171
5.1.3 跟我學(xué):了解匿名函數(shù)與可迭代函數(shù) 172
5.1.4 跟我學(xué):了解Python中的偏函數(shù)、工廠函數(shù)、閉合函數(shù)以及裝飾器語法 175
5.2 跟我做:用Python實(shí)現(xiàn)大屏程序 180
5.2.1 跟我學(xué):快速上手Flask框架 182
5.2.2 跟我學(xué):了解大屏程序的數(shù)據(jù)加載過程 184
5.2.3 跟我學(xué):掌握類方法中的super()函數(shù) 187
5.2.4 跟我學(xué):使用裝飾器實(shí)現(xiàn)類的私有化 190
5.2.5 跟我學(xué):了解Flask與HTML模板的數(shù)據(jù)交互 196
5.2.6 跟我做:改變大屏程序的顯示圖表 198
5.3 跟我做:用Python開發(fā)基于桌面的GUI交互工具 202
5.3.1 跟我做:將Python代碼變成可執(zhí)行文件,提升使用體驗(yàn) 205
5.3.2 跟我做:為Python程序添加管理員運(yùn)行權(quán)限 207
5.3.3 跟我做:用AIGC設(shè)計(jì)LOGO,并打包exe程序 208
5.3.4 跟我學(xué):用Cython提升Python代碼的運(yùn)行速度 210
5.4 跟我做:借助ChatGPT完成基于Python的安卓應(yīng)用 212
5.4.1 跟我做:用ChatGPT開發(fā)手機(jī)撥測App 215
5.4.2 跟我學(xué):了解Python中異步函數(shù)的使用 220
5.5 跟我做:用向量數(shù)據(jù)庫檢索本地文件 222
5.5.1 跟我學(xué):掌握不同場景下的文本拆分方法 225
5.5.2 跟我做:讓大語言模型通過查資料的方式來回答問題 227
5.5.3 跟我學(xué):了解Python中的類型注解 229
5.5.4 跟我學(xué):了解智能時(shí)代的大模型應(yīng)用——檢索增強(qiáng)型生成技術(shù) 230
5.6 總結(jié) 231
5.6.1 練一練:制作自己的RAG機(jī)器人 231