Python作為一門優(yōu)秀的編程語言,由于其語法簡(jiǎn)潔、優(yōu)雅、明確,因此受到很多程序員和編程愛好者的青睞。近年來,Python憑借強(qiáng)大的擴(kuò)展性和豐富的模塊,其應(yīng)用場(chǎng)景不斷擴(kuò)大。許多人加入了學(xué)習(xí)Python的行列。
也許會(huì)有人問: 對(duì)于沒有編程基礎(chǔ)的人,編程會(huì)不會(huì)太難學(xué)了?其實(shí)這樣的擔(dān)心是多余的。Python的語法簡(jiǎn)潔易懂,很容易上手,而且學(xué)習(xí)Python的目的不是為了編程而編程,而是為了解決實(shí)際的問題。在掌握Python編程的基礎(chǔ)知識(shí)后,就可以用Python解決學(xué)習(xí)和工作中的實(shí)際問題,例如復(fù)雜的數(shù)學(xué)運(yùn)算、繪制各類圖像、辦公自動(dòng)化,而且有時(shí)只需幾行到十幾行的代碼就可實(shí)現(xiàn)。
本書有豐富的案例,將語法知識(shí)和編程思路融入大量的典型案例中,帶領(lǐng)讀者學(xué)會(huì)Python編程,并將Python應(yīng)用于解決實(shí)際問題中,從而提高工作效率。
本書主要內(nèi)容
本書分為四部分,共17章。
第一部分包括第1~6章,主要講解了Python編程環(huán)境的搭建和Python的基礎(chǔ)知識(shí),以及變量、運(yùn)算、流程控制; 在懂得基本編程思路之后,講解了函數(shù)、復(fù)雜數(shù)據(jù)類型、類、模塊等編程模塊化知識(shí),其中的難點(diǎn)是第4章的復(fù)雜數(shù)據(jù)類型,包括列表、元組、字典、字符串、集合等。
第二部分包括第7~9章,主要講解了應(yīng)用Python進(jìn)行數(shù)值計(jì)算、矩陣運(yùn)算、符號(hào)運(yùn)算的方法。
第三部分包括第10~12章,主要講解了應(yīng)用Python繪制各種2D圖像、3D圖像及向量圖的方法。
第四部分包括第13~17章,主要講解了應(yīng)用Python處理基本文件、操作目錄、組織文件、壓縮文件、解壓文件、處理PDF文檔、破解密碼、處理Word文檔的方法。這一部分列舉了使用Python批量處理文件的方法。
閱讀建議
本書是一本基礎(chǔ)入門加實(shí)戰(zhàn)的書籍,既有基礎(chǔ)知識(shí),又有豐富的典型案例。這些典型案例貼近工作、學(xué)習(xí)、生活,應(yīng)用性強(qiáng)。
建議沒有Python基礎(chǔ)的讀者先閱讀第一部分,掌握Python的基本語法知識(shí)。這些知識(shí)集中在第1~5章。有了這些知識(shí),閱讀后面的章節(jié)會(huì)比較輕松。如果讀者已經(jīng)具備Python的知識(shí),則可以直接閱讀后面的章節(jié)。
閱讀第二部分需要具有一些數(shù)學(xué)知識(shí)和概念,包括基本的數(shù)值計(jì)算、復(fù)數(shù)的數(shù)值計(jì)算、矩陣的各類運(yùn)算、統(tǒng)計(jì)學(xué)、微積分的各類運(yùn)算。
第三部分屬于比較輕松的內(nèi)容,使用Python時(shí)只需幾行到十幾行的代碼,就可以繪制出漂亮的2D圖、3D圖、向量圖。
第四部分屬于應(yīng)用性很強(qiáng)的內(nèi)容,有很多典型案例。這一部分的每個(gè)章節(jié)都有統(tǒng)一的編寫規(guī)律,先介紹了處理單個(gè)文件的方法,然后介紹批量處理文件的方法。典型案例的難點(diǎn)在破解壓縮文件密碼和PDF文檔密碼的部分。第14章前兩節(jié)介紹了使用面向過程的方法處理目錄、文件的方法,第三節(jié)介紹了使用面向?qū)ο蟮姆椒ㄌ幚砟夸、文件的方法?/p>
資源下載提示
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
視頻等資源: 掃描封底的文泉云盤防盜碼,再掃描書中相應(yīng)章節(jié)的二維碼,可以在線學(xué)習(xí)。
致謝
感謝我的家人、朋友,由于有了他們的支持,我才可以全身心地投入寫作之中。
感謝趙佳霓編輯,在書稿的編寫過程中為我提供了很多建議,沒有她的策劃和幫助,我難以順利完成本書。
感謝我的導(dǎo)師、老師、同學(xué),在我的求學(xué)過程中,他們?cè)?jīng)給我很大的幫助。
感謝為本書付出辛勤工作的每個(gè)人!
由于編者水平有限,書中難免存在不妥之處,請(qǐng)讀者見諒,并提出寶貴意見。
邢世通
2023年5月
第一部分基 礎(chǔ) 知 識(shí)
第1章Python概述(29min)
1.1Python的歷史與發(fā)展
1.1.1Python簡(jiǎn)介
1.1.2Python與Java、C語言的對(duì)比
1.1.3Python的應(yīng)用領(lǐng)域
1.2搭建Python開發(fā)環(huán)境
1.2.1安裝Python
1.2.2第1個(gè)Python程序
1.2.3文本編輯器
1.2.4集成開發(fā)環(huán)境
1.3人人都會(huì)編程
1.3.1input()函數(shù)和變量
1.3.2會(huì)說話就會(huì)編程
1.4小結(jié)
第2章Python基礎(chǔ)(56min)
2.1變量
2.1.1理解變量
2.1.2定義變量
2.1.3判斷變量的類型
2.1.4變量的地址
2.2基本數(shù)據(jù)類型
2.2.1數(shù)字類型
2.2.2字符串類型
2.2.3布爾類型
2.2.4數(shù)據(jù)類型轉(zhuǎn)換
2.3運(yùn)算符
2.3.1算術(shù)運(yùn)算符
2.3.2賦值運(yùn)算符
2.3.3比較(關(guān)系)運(yùn)算符
2.3.4邏輯運(yùn)算符
2.3.5位運(yùn)算符
2.3.6運(yùn)算符的優(yōu)先級(jí)
2.4小結(jié)
第3章流程控制語句(85min)
3.1控制結(jié)構(gòu)
3.2選擇語句
3.2.1if語句
3.2.2if…else語句
3.2.3if…elif…else語句
3.2.4if語句的嵌套
3.2.5條件表達(dá)式
3.3循環(huán)語句
3.3.1while循環(huán)
3.3.2for循環(huán)
3.3.3循環(huán)嵌套
3.4其他控制語句
3.4.1break語句
3.4.2continue語句
3.4.3pass空語句
3.5經(jīng)典例題
3.5.1過橋問題
3.5.2百錢買百雞
3.6本章小結(jié)
第4章函數(shù)與復(fù)雜數(shù)據(jù)類型(225min)
4.1函數(shù)
4.1.1函數(shù)的創(chuàng)建和調(diào)用
4.1.2參數(shù)的傳遞
4.1.3返回值
4.1.4變量的作用域
4.1.5匿名函數(shù)(lambda)
4.1.6經(jīng)典例題
4.2列表與元組
4.2.1創(chuàng)建和刪除列表
4.2.2添加、修改、刪除列表中的元素
4.2.3遍歷列表
4.2.4對(duì)列表進(jìn)行排序
4.2.5對(duì)列表進(jìn)行統(tǒng)計(jì)和計(jì)算
4.2.6元組
4.2.7經(jīng)典例題
4.3字典
4.3.1創(chuàng)建和刪除字典
4.3.2添加、修改、刪除字典中的元素
4.3.3遍歷字典
4.3.4字典與列表的嵌套
4.4集合
4.4.1創(chuàng)建和刪除集合
4.4.2添加、刪除集合中的元素
4.4.3集合的交集、并集、差集運(yùn)算
4.4.4列表、元組、字典、集合的對(duì)比
4.5字符串
4.5.1字符串的常用操作
4.5.2字符串編碼轉(zhuǎn)換
4.5.3序列
4.6小結(jié)
第5章對(duì)象與模塊(110min)
5.1面向?qū)ο蟮某绦蛟O(shè)計(jì)
5.1.1對(duì)象=屬性 行為
5.1.2類
5.1.3面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)
5.2類的定義和使用
5.2.1定義一個(gè)簡(jiǎn)單的類
5.2.2創(chuàng)建類的實(shí)例
5.2.3定義一個(gè)完整的類
5.2.4類的數(shù)據(jù)成員
5.2.5訪問限制
5.3繼承與導(dǎo)入
5.3.1繼承的基本語法
5.3.2派生類中調(diào)用基類的__init__()方法
5.3.3方法重寫
5.3.4導(dǎo)入類
5.4模塊
5.4.1模塊概述
5.4.2安裝、升級(jí)、卸載模塊
5.4.3引入模塊
5.4.4創(chuàng)建主程序
5.4.5自定義模塊
5.5小結(jié)
第6章異常處理(71min)
6.1異常概述
6.1.1常見的異常
6.1.2其他異常
6.2異常處理語句
6.2.1try…except語句
6.2.2try…except…else語句
6.2.3try…except…finally語句
6.2.4使用raise語句拋出異常
6.3程序調(diào)試
6.3.1使用assert語句調(diào)試程序
6.3.2使用IDLE進(jìn)行斷點(diǎn)調(diào)試
6.4小結(jié)
第二部分?jǐn)?shù) 學(xué) 運(yùn) 算
第7章數(shù)值計(jì)算(42min)
7.1標(biāo)準(zhǔn)模塊
7.1.1Math模塊
7.1.2cMath模塊
7.2NumPy模塊
7.2.1安裝NumPy
7.2.2NumPy的數(shù)學(xué)函數(shù)
7.3小結(jié)
第8章矩陣運(yùn)算(86min)
8.1創(chuàng)建矩陣和數(shù)組
8.1.1使用NumPy創(chuàng)建矩陣
8.1.2創(chuàng)建特殊矩陣
8.1.3NumPy的切片和索引
8.2矩陣的簡(jiǎn)單運(yùn)算
8.2.1矩陣與數(shù)的運(yùn)算
8.2.2矩陣與矩陣的加、減、乘運(yùn)算
8.3矩陣的復(fù)雜運(yùn)算
8.3.1矩陣的逆
8.3.2矩陣的行列式
8.3.3矩陣的特征值和特征向量
8.3.4解線性方程組
8.4統(tǒng)計(jì)數(shù)組、矩陣
8.4.1最小值和最大值
8.4.2中位數(shù)和平均數(shù)
8.4.3標(biāo)準(zhǔn)差和方差
8.5NumPy的矩陣庫(kù)Matrix
8.5.1轉(zhuǎn)置矩陣
8.5.2使用矩陣庫(kù)創(chuàng)建矩陣
8.6小結(jié)
第9章符號(hào)運(yùn)算(123min)
9.1SymPy模塊
9.1.1安裝SymPy模塊
9.1.2創(chuàng)建符號(hào)變量
9.1.3轉(zhuǎn)換為L(zhǎng)aTeX格式
9.1.4替換表達(dá)式中的符號(hào)變量
9.1.5對(duì)表達(dá)式進(jìn)行數(shù)值計(jì)算
9.2代數(shù)式的簡(jiǎn)單運(yùn)算
9.2.1代數(shù)式的加、減、乘、除
9.2.2代數(shù)式的化簡(jiǎn)
9.2.3代數(shù)式的合并和展開
9.3微積分運(yùn)算
9.3.1極限
9.3.2一階微分與高階微分
9.3.3不定積分與定積分
9.3.4級(jí)數(shù)展開
9.4求解線性方程和微分方程
9.4.1解線性方程
9.4.2解微分方程
9.5SymPy矩陣
9.5.1數(shù)字矩陣
9.5.2符號(hào)矩陣
9.6小結(jié)
第三部分繪 制 圖 像
第10章繪制2D圖像(117min)
10.1Matplotlib模塊
10.1.1安裝Matplotlib模塊
10.1.2繪制簡(jiǎn)單的折線圖
10.2圖像的標(biāo)記與設(shè)置
10.2.1標(biāo)記數(shù)據(jù)點(diǎn)
10.2.2設(shè)置線條
10.2.3設(shè)置軸標(biāo)簽和標(biāo)題
10.2.4顯示中文
10.2.5設(shè)置網(wǎng)格線
10.3圖像中繪制多條線與多張圖
10.3.1一維數(shù)據(jù)繪制多條線
10.3.2二維數(shù)據(jù)繪制多條線
10.3.3繪制多張圖
10.3.4應(yīng)用舉例
10.4繪制其他類型的圖像
10.4.1散點(diǎn)圖
10.4.2餅圖
10.4.3柱狀圖
10.4.4頻率分布直方圖
10.4.5面積圖
10.4.6熱力圖
10.4.7箱形圖
10.5經(jīng)典例題
10.5.1繪制橢圓
10.5.2繪制雙曲線
10.6等高線圖
10.6.1填充顏色
10.6.2添加等高線并顯示數(shù)據(jù)標(biāo)簽
10.7小結(jié)
第11章繪制3D圖像(99min)
11.13D曲線圖
11.1.1設(shè)置圖像的大小
11.1.2創(chuàng)建3D坐標(biāo)系
11.1.3繪制3D曲線圖
11.1.4添加標(biāo)簽和標(biāo)題
11.23D散點(diǎn)圖
11.2.1繪制3D散點(diǎn)圖
11.2.2同一坐標(biāo)系下繪制多張3D圖
11.33D等高線圖
11.3.1繪制3D等高線圖
11.3.2調(diào)整觀察角度和方位角
11.43D線框圖
11.4.1繪制3D線框圖
11.4.2繪制多張3D圖
11.53D曲面圖
11.5.1繪制3D曲面圖
11.5.2極坐標(biāo)系下繪制3D圖
11.5.3經(jīng)典例題
11.5.4繪制三角表面圖
11.63D條形圖
11.7小結(jié)
第12章向量圖(113min)
12.1Pygal模塊
12.1.1Python中的繪圖模塊
12.1.2安裝Pygal模塊
12.2折線圖
12.2.1簡(jiǎn)單折線圖
12.2.2水平折線圖
12.2.3堆疊折線圖
12.3柱狀圖
12.3.1單列柱狀圖
12.3.2堆疊柱狀圖
12.3.3水平柱狀圖
12.3.4水平堆疊柱狀圖
12.3.5直方圖
12.4餅圖
12.4.1簡(jiǎn)單餅圖
12.4.2多級(jí)餅圖
12.4.3圓環(huán)圖
12.4.4半餅圖
12.5其他類型的圖像
12.5.1散點(diǎn)圖
12.5.2曲線圖
12.5.3雷達(dá)圖
12.5.4氣泡圖
12.5.5箱形圖
12.5.6漏斗圖
12.5.7實(shí)體儀表盤圖
12.5.8儀表盤圖
12.5.9樹形圖
12.5.10金字塔圖
12.6小結(jié)
第四部分辦公自動(dòng)化
第13章基本文件操作(34min)
13.1打開、關(guān)閉、讀取、寫入文件
13.1.1創(chuàng)建文件對(duì)象
13.1.2關(guān)閉文件
13.1.3寫入文件
13.1.4讀取文件
13.2其他操作文件的方法
13.2.1文件對(duì)象方法匯總
13.2.2with語句
13.3典型應(yīng)用
13.3.1批量創(chuàng)建TXT文檔
13.3.2批量為TXT文檔寫入內(nèi)容
13.3.3統(tǒng)計(jì)TXT文檔中字符的個(gè)數(shù)
13.4小結(jié)
第14章目錄操作與組織文件(65min)
14.1os模塊與目錄操作
14.1.1文件與文件路徑
14.1.2os模塊與os.path模塊
14.1.3操作目錄
14.1.4操作文件
14.2shutil模塊與文件操作
14.2.1復(fù)制文件和文件夾
14.2.2文件和文件夾的移動(dòng)和重命名
14.2.3永久刪除文件和文件夾
14.2.4安全刪除文件和文件夾
14.3pathlib模塊
14.3.1Path類和PurePath類
14.3.2獲取路徑對(duì)象的屬性
14.3.3遍歷目錄
14.3.4文件和文件夾的創(chuàng)建和刪除
14.3.5拼接路徑
14.4典型應(yīng)用
14.4.1批量給文件名添加、刪除前綴
14.4.2批量給文件名添加、刪除后綴
14.4.3文件的自動(dòng)分類
14.4.4自動(dòng)清理重復(fù)文件
14.4.5文件和文件夾的快速查找
14.5小結(jié)
第15章壓縮文件(64min)
15.1zipfile模塊與zip文件
15.1.1zipfile模塊
15.1.2解壓文件
15.1.3創(chuàng)建、添加zip文件
15.1.4批量創(chuàng)建、解壓zip文件
15.1.5破解zip文件的密碼
15.2rarfile模塊與rar文件
15.2.1rarfile模塊
15.2.2讀取、解壓rar文件
15.2.3批量解壓rar文件
15.3py7zr模塊與7z文件
15.3.1py7zr模塊
15.3.2解壓7z文件
15.3.3創(chuàng)建、添加7z文件
15.3.4批量創(chuàng)建、解壓7z文件
15.3.5破解7z文件的密碼
15.4小結(jié)
第16章處理PDF文檔(55min)
16.1PyPDF2模塊
16.1.1獲取PDF文檔信息
16.1.2從PDF中提取某一頁的文本
16.1.3合并PDF文檔
16.1.4從PDF文檔截取部分文檔
16.1.5拆分PDF文檔
16.1.6加密PDF文檔
16.1.7破解PDF文檔的密碼
16.2pdfplumber模塊
16.2.1獲取PDF文檔信息
16.2.2從PDF中提取某頁的表格
16.3reportlab模塊
16.3.1創(chuàng)建加水印文件
16.3.2為PDF文檔添加水印
16.4典型應(yīng)用
16.4.1批量合并PDF文檔
16.4.2批量拆分PDF文檔
16.4.3批量加密PDF文檔
16.4.4批量為PDF文檔添加水印
16.5小結(jié)
第17章處理Word文檔(56min)
17.1pythondocx模塊
17.1.1讀取Word文檔
17.1.2創(chuàng)建Word文檔
17.1.3查找與替換
17.2comtypes模塊與pdf2docx模塊
17.2.1將Word文檔轉(zhuǎn)換為PDF文檔
17.2.2將PDF文檔轉(zhuǎn)換為Word文檔
17.3pywin32模塊
17.3.1在Word文檔中標(biāo)記多個(gè)關(guān)鍵詞
17.3.2在Word文檔中替換多個(gè)關(guān)鍵詞
17.3.3將多個(gè)Word文檔合并為一個(gè)Word文檔
17.4典型應(yīng)用
17.4.1將Word文檔批量轉(zhuǎn)換為PDF文檔
17.4.2將PDF文檔批量轉(zhuǎn)換為Word文檔
17.4.3批量替換不同Word文檔中的關(guān)鍵詞
17.4.4將同目錄下的Word文檔合并為一個(gè)Word文檔
17.5小結(jié)
附錄APython關(guān)鍵字和內(nèi)置函數(shù)