《Python編程從小白到大!钒3篇,共16章;A(chǔ)篇(第1~7章)包括Python概述,數(shù)據(jù)類型和變量,流程控制,數(shù)據(jù)結(jié)構(gòu),函數(shù),模塊、包和文件,以及錯誤、異常和調(diào)試;進階篇(第8~11章)包括面向?qū)ο缶幊,進程和線程,網(wǎng)絡(luò)編程,以及Python數(shù)據(jù)處理和數(shù)據(jù)庫編程;應(yīng)用篇(第12~16章)包括Web開發(fā)應(yīng)用,圖形界面GUI和繪圖應(yīng)用,科學(xué)計算與數(shù)據(jù)分析應(yīng)用,深度學(xué)習(xí)應(yīng)用,以及云計算和自動化運維應(yīng)用。《Python編程從小白到大!愤包括大量實戰(zhàn)案例,通過理論和實戰(zhàn)結(jié)合的方式幫助讀者快速學(xué)習(xí)撐握Python應(yīng)用。
《Python編程從小白到大牛》可作為人工智能、機器學(xué)習(xí)、人臉識別等應(yīng)用領(lǐng)域工程技術(shù)人員的參考手冊,也可作為大中專院校人工智能、大數(shù)據(jù)科學(xué)與技術(shù)、自動化、機器人工程、智能儀器儀表、機電一體化等專業(yè)及社會培訓(xùn)班有關(guān)Python課程的教材。
前言
基礎(chǔ)篇
第1章Python起步
1.1Python是什么
1.2Python版本選擇
1.3搭建編程環(huán)境
1.3.1配置Windows環(huán)境
1.3.2配置Linux環(huán)境
1.4【小白也要懂】Python源代碼的體系架構(gòu)
1.5【實戰(zhàn)】完成第一個Python程序
1.5.1IDEs編輯器
1.5.2print()輸出函數(shù)
1.5.3創(chuàng)建Hello_world.py文件
1.6【大牛講壇】Python解釋器詳解
第2章數(shù)據(jù)類型和變量
2.1數(shù)據(jù)類型
2.1.1整數(shù)類型
2.1.2浮點數(shù)類型
2.1.3布爾類型
2.1.4復(fù)數(shù)類型
2.1.5字符串類型
2.2變量
2.2.1命名規(guī)則
2.2.2使用方法
2.3字符串和編碼
2.3.1字符串
2.3.2編碼
2.3.3字符串操作
2.4數(shù)字和運算符
2.4.1數(shù)和四則運算
2.4.2關(guān)于數(shù)字的內(nèi)建函數(shù)
2.5列表
2.5.1List定義
2.5.2索引和切片
2.5.3反轉(zhuǎn)
2.6【小白也要懂】運算符詳解
2.7【實戰(zhàn)】常用內(nèi)置數(shù)據(jù)結(jié)構(gòu)用法示例
2.8【大牛講壇】從底層理解內(nèi)存管理
第3章流程控制
3.1條件語句
3.1.1ifelse
3.1.2if…elif…else
3.1.3if嵌套
3.2循環(huán)語句
3.2.1while循環(huán)
3.2.2for循環(huán)
3.2.3嵌套循環(huán)
3.3循環(huán)語句中的List解析
3.4break和continue語句
3.5【小白也要懂】如何構(gòu)造程序邏輯
3.6【實戰(zhàn)】初識算法
3.7【大牛講壇】養(yǎng)成良好的編碼風(fēng)格很重要
第4章數(shù)據(jù)結(jié)構(gòu)
4.1線性數(shù)據(jù)結(jié)構(gòu)
4.1.1鏈表
4.1.2棧
4.1.3隊列
4.2非線性數(shù)據(jù)結(jié)構(gòu)
4.3元組
4.3.1定義
4.3.2元組的訪問
4.3.3修改tuple變量
4.4集合
4.4.1定義
4.4.2集合的基本操作
4.5字典
4.5.1定義
4.5.2字典的基本操作
4.6【小白也要懂】生成器
4.7迭代器
4.8【實戰(zhàn)】編寫一些有趣的代碼
4.8.1走馬燈文字
4.8.2楊輝三角
4.8.3初識排序
4.9【大牛講壇】算法進階,字典和集合背后的秘密
4.9.1哈希表插入數(shù)據(jù)
4.9.2哈希表查找數(shù)據(jù)
4.9.3哈希表刪除數(shù)據(jù)
第5章函數(shù)
5.1什么是函數(shù)
5.1.1定義函數(shù)
5.1.2實參和形參
5.1.3返回值
5.2實參與形參之間的傳遞方式
5.2.1位置實參
5.2.2關(guān)鍵字參數(shù)
5.2.3默認參數(shù)
5.2.4可變參數(shù)
5.3局部變量和全局變量
5.4遞歸函數(shù)
5.5閉包
5.6【小白也要懂】函數(shù)與函數(shù)式編程的區(qū)別
5.7【實戰(zhàn)】用Python來做數(shù)學(xué)題
5.7.1公約數(shù)和公倍數(shù)
5.7.2回文數(shù)
5.7.3素數(shù)
5.8【大牛講壇】函數(shù)編程指南
第6章模塊、包和文件
6.1模塊
6.1.1什么是模塊
6.1.2模塊的導(dǎo)入
6.2包
6.2.1目錄結(jié)構(gòu)
6.2.2包的導(dǎo)入
6.3文件
6.3.1文件操作介紹
6.3.2文件的相關(guān)函數(shù)
6.4【小白也要懂】用json模塊存儲數(shù)據(jù)
6.5【實戰(zhàn)】文件讀寫的具體應(yīng)用
6.5.1讀寫文本數(shù)據(jù)
6.5.2打印輸出至文件中
6.5.3讀寫二進制字節(jié)數(shù)據(jù)
6.5.4字符串的I/O操作
6.5.5讀寫壓縮文件
6.5.6內(nèi)存映射的二進制文件
6.6【大牛講壇】大數(shù)據(jù)時代,數(shù)據(jù)組織維度
6.6.1一維數(shù)據(jù)
6.6.2二維數(shù)據(jù)
6.6.3多維數(shù)據(jù)
第7章錯誤、異常和調(diào)試
7.1語法錯誤
7.2運行時錯誤
7.3異常處理
7.3.1異常
7.3.2捕捉異常
7.3.3拋出異常
7.4測試
7.4.1測試基礎(chǔ)
7.4.2文檔測試
7.4.3單元測試
7.5【小白也要懂】源代碼檢查和性能分析
7.5.1使用PyChecker和PyLint檢查源代碼
7.5.2性能分析
7.6【實戰(zhàn)】Python日志調(diào)試實踐
7.7【大牛講壇】調(diào)試程序思路
7.7.1標(biāo)準(zhǔn)庫的pdb
7.7.2開源的ipdb
進階篇
第8章面向?qū)ο缶幊?br>8.1類和對象
8.1.1類的定義
8.1.2對象實例化
8.1.3對象的方法
8.1.4類的變量
8.2面向?qū)ο缶幊痰娜筇匦?br>8.2.1繼承
8.2.2多態(tài)
8.2.3封裝
8.3特殊方法和屬性
8.3.1_dict_
8.3.2_slots_
8.4【小白也要懂】靜態(tài)方法和類方法
8.5【實戰(zhàn)】面向?qū)ο缶幊?br>實操
8.6【大牛講壇】對象的內(nèi)存管理
第9章進程和線程
9.1線程和進程的概念
9.1.1什么是多進程
9.1.2什么是多線程
9.2【小白也要懂】多進程與多線程
9.3多進程實踐
9.3.1multiprocessing模塊
9.3.2進程池
9.3.3進程間通信
9.4并行開發(fā)的高級特性
9.4.1GIL
9.4.2threading模塊
9.4.3queue模塊
9.4.4鎖
9.5并發(fā)編程分類
9.6【實戰(zhàn)】手把手教你創(chuàng)建自己的線程池
9.7【大牛講壇】實現(xiàn)消息發(fā)布/訂閱模型
第10章網(wǎng)絡(luò)編程
10.1【小白也要懂】網(wǎng)絡(luò)基礎(chǔ)
10.1.1TCP/IP
10.1.2端口
10.1.3IP地址
10.1.4UDP協(xié)議
10.2socket網(wǎng)絡(luò)編程
10.2.1socket模塊簡介
10.2.2客戶端/服務(wù)器編碼
10.2.3基于TCP/IP傳輸層協(xié)議的
socket套接字編程
10.2.4多個客戶端連接通信
10.2.5UDP通信
10.3【實戰(zhàn)】用Python發(fā)送短信和郵件
10.4【大牛講壇】談?wù)凴EST和RESTful
第11章Python數(shù)據(jù)處理和數(shù)據(jù)庫編程
11.1【小白要也要懂】大數(shù)據(jù)時代Python的優(yōu)勢
11.2數(shù)據(jù)編碼和處理
11.2.1讀寫CSV數(shù)據(jù)
11.2.2讀寫json數(shù)據(jù)
11.2.3解析簡單的XML數(shù)據(jù)
11.2.4讀寫二進制數(shù)據(jù)
11.3關(guān)系型數(shù)據(jù)庫
11.3.1關(guān)系型數(shù)據(jù)庫入門
11.3.2基本的數(shù)據(jù)庫SQL操作
11.4訪問關(guān)系型數(shù)據(jù)庫
11.4.1使用SQLite
11.4.2使用MySQL
11.5對象關(guān)系映射
11.6【實戰(zhàn)】Python操作常用數(shù)據(jù)庫實踐
11.7【大牛講壇】常用數(shù)據(jù)庫優(yōu)缺點分析
應(yīng)用篇
第12章Web開發(fā)應(yīng)用領(lǐng)域
12.1Web應(yīng)用工作原理
12.2Web客戶端
12.2.1urlparse模塊
12.2.2urllib模塊
12.3CGI介紹
12.3.1CGI模塊
12.3.2CGI配置和環(huán)境變量
12.3.3CGI腳本的使用和調(diào)試
12.4【小白也要懂】Web前端簡介
12.5Tornado框架
12.5.1Tornado是什么
12.5.2Tornado安裝
12.5.3Hello Tornado
12.6Tornaado架構(gòu)
12.6.1Web的基本框架
12.6.2與數(shù)據(jù)庫的連接
12.6.3表單
12.6.4模板
12.7大用戶量訪問的秘密
12.7.1Tornado同步
12.7.2Tornado異步
12.8【實戰(zhàn)】手把手教你創(chuàng)建Web聊天室
第13章圖形界面GUI和繪圖應(yīng)用領(lǐng)域
13.1Tkinter介紹
13.2Tkinter基礎(chǔ)知識
13.3組件介紹
13.3.1標(biāo)簽
13.3.2按鈕
13.3.3文本框
13.3.4下拉框
13.3.5選擇框
13.3.6菜單
13.4事件
13.5【實戰(zhàn)】手把手教你開發(fā)貪吃蛇游戲
13.6Python繪圖領(lǐng)域應(yīng)用
13.6.1初級繪圖
13.6.2圖像、子圖、坐標(biāo)軸和記號
13.7【實戰(zhàn)】手把手教你畫圖
第14章科學(xué)計算與數(shù)據(jù)分析應(yīng)用領(lǐng)域
14.1為什么用Python進行數(shù)據(jù)分析
14.2利器Anaconda
14.3NumPy是什么
14.3.1初窺NumPy
14.3.2數(shù)組
14.3.3數(shù)組元素的訪問和操作
14.4SciPy概述
14.4.1SciPy子模塊介紹
14.4.2統(tǒng)計分布
14.5Pandas基本數(shù)據(jù)結(jié)構(gòu)
14.5.1Series
14.5.2DataFrame
14.5.3數(shù)據(jù)處理
14.5.4聚合和分組
14.6時間序列
14.7【實戰(zhàn)】手把手教你分析藥店銷售數(shù)據(jù)
14.7.1理解數(shù)據(jù)
14.7.2數(shù)據(jù)清洗
14.7.3缺失數(shù)據(jù)處理
14.7.4數(shù)據(jù)類型轉(zhuǎn)換
14.7.5數(shù)據(jù)排序
14.7.6異常值處理
14.7.7構(gòu)建模型
第15章深度學(xué)習(xí)應(yīng)用領(lǐng)域
15.1談?wù)剶?shù)學(xué)的重要性
15.2PyTorch是什么
15.3PyTorch基礎(chǔ)
15.3.1張量
15.3.2自動求導(dǎo)
15.3.3神經(jīng)網(wǎng)絡(luò)
15.3.4訓(xùn)練分類器
第16章云計算和自動化運維應(yīng)用領(lǐng)域
16.1云計算時代
16.2大行其道的DevOps
16.3CMDB資產(chǎn)管理
16.4服務(wù)器監(jiān)控
16.4.1通過腳本監(jiān)控
16.4.2通過Psutil模塊監(jiān)控
16.4.3大型監(jiān)控方案
16.5配置管理工具
16.5.1Ansible介紹
16.5.2安裝和配置
16.5.3Adhoc命令
16.5.4Playbook用法
16.6持續(xù)交付