《Python編程從小白到大牛》包括3篇,共16章;A篇(第1~7章)包括Python概述,數(shù)據(jù)類型和變量,流程控制,數(shù)據(jù)結構,函數(shù),模塊、包和文件,以及錯誤、異常和調試;進階篇(第8~11章)包括面向對象編程,進程和線程,網(wǎng)絡編程,以及Python數(shù)據(jù)處理和數(shù)據(jù)庫編程;應用篇(第12~16章)包括Web開發(fā)應用,圖形界面GUI和繪圖應用,科學計算與數(shù)據(jù)分析應用,深度學習應用,以及云計算和自動化運維應用。《Python編程從小白到大!愤包括大量實戰(zhàn)案例,通過理論和實戰(zhàn)結合的方式幫助讀者快速學習撐握Python應用。
《Python編程從小白到大牛》可作為人工智能、機器學習、人臉識別等應用領域工程技術人員的參考手冊,也可作為大中專院校人工智能、大數(shù)據(jù)科學與技術、自動化、機器人工程、智能儀器儀表、機電一體化等專業(yè)及社會培訓班有關Python課程的教材。
前言
基礎篇
第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源代碼的體系架構
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復數(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關于數(shù)字的內建函數(shù)
2.5列表
2.5.1List定義
2.5.2索引和切片
2.5.3反轉
2.6【小白也要懂】運算符詳解
2.7【實戰(zhàn)】常用內置數(shù)據(jù)結構用法示例
2.8【大牛講壇】從底層理解內存管理
第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【小白也要懂】如何構造程序邏輯
3.6【實戰(zhàn)】初識算法
3.7【大牛講壇】養(yǎng)成良好的編碼風格很重要
第4章數(shù)據(jù)結構
4.1線性數(shù)據(jù)結構
4.1.1鏈表
4.1.2棧
4.1.3隊列
4.2非線性數(shù)據(jù)結構
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關鍵字參數(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ù)學題
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模塊的導入
6.2包
6.2.1目錄結構
6.2.2包的導入
6.3文件
6.3.1文件操作介紹
6.3.2文件的相關函數(shù)
6.4【小白也要懂】用json模塊存儲數(shù)據(jù)
6.5【實戰(zhàn)】文件讀寫的具體應用
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內存映射的二進制文件
6.6【大牛講壇】大數(shù)據(jù)時代,數(shù)據(jù)組織維度
6.6.1一維數(shù)據(jù)
6.6.2二維數(shù)據(jù)
6.6.3多維數(shù)據(jù)
第7章錯誤、異常和調試
7.1語法錯誤
7.2運行時錯誤
7.3異常處理
7.3.1異常
7.3.2捕捉異常
7.3.3拋出異常
7.4測試
7.4.1測試基礎
7.4.2文檔測試
7.4.3單元測試
7.5【小白也要懂】源代碼檢查和性能分析
7.5.1使用PyChecker和PyLint檢查源代碼
7.5.2性能分析
7.6【實戰(zhàn)】Python日志調試實踐
7.7【大牛講壇】調試程序思路
7.7.1標準庫的pdb
7.7.2開源的ipdb
進階篇
第8章面向對象編程
8.1類和對象
8.1.1類的定義
8.1.2對象實例化
8.1.3對象的方法
8.1.4類的變量
8.2面向對象編程的三大特性
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)】面向對象編程
實操
8.6【大牛講壇】對象的內存管理
第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)絡編程
10.1【小白也要懂】網(wǎng)絡基礎
10.1.1TCP/IP
10.1.2端口
10.1.3IP地址
10.1.4UDP協(xié)議
10.2socket網(wǎng)絡編程
10.2.1socket模塊簡介
10.2.2客戶端/服務器編碼
10.2.3基于TCP/IP傳輸層協(xié)議的
socket套接字編程
10.2.4多個客戶端連接通信
10.2.5UDP通信
10.3【實戰(zhàn)】用Python發(fā)送短信和郵件
10.4【大牛講壇】談談REST和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關系型數(shù)據(jù)庫
11.3.1關系型數(shù)據(jù)庫入門
11.3.2基本的數(shù)據(jù)庫SQL操作
11.4訪問關系型數(shù)據(jù)庫
11.4.1使用SQLite
11.4.2使用MySQL
11.5對象關系映射
11.6【實戰(zhàn)】Python操作常用數(shù)據(jù)庫實踐
11.7【大牛講壇】常用數(shù)據(jù)庫優(yōu)缺點分析
應用篇
第12章Web開發(fā)應用領域
12.1Web應用工作原理
12.2Web客戶端
12.2.1urlparse模塊
12.2.2urllib模塊
12.3CGI介紹
12.3.1CGI模塊
12.3.2CGI配置和環(huán)境變量
12.3.3CGI腳本的使用和調試
12.4【小白也要懂】Web前端簡介
12.5Tornado框架
12.5.1Tornado是什么
12.5.2Tornado安裝
12.5.3Hello Tornado
12.6Tornaado架構
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和繪圖應用領域
13.1Tkinter介紹
13.2Tkinter基礎知識
13.3組件介紹
13.3.1標簽
13.3.2按鈕
13.3.3文本框
13.3.4下拉框
13.3.5選擇框
13.3.6菜單
13.4事件
13.5【實戰(zhàn)】手把手教你開發(fā)貪吃蛇游戲
13.6Python繪圖領域應用
13.6.1初級繪圖
13.6.2圖像、子圖、坐標軸和記號
13.7【實戰(zhàn)】手把手教你畫圖
第14章科學計算與數(shù)據(jù)分析應用領域
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ù)結構
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ù)類型轉換
14.7.5數(shù)據(jù)排序
14.7.6異常值處理
14.7.7構建模型
第15章深度學習應用領域
15.1談談數(shù)學的重要性
15.2PyTorch是什么
15.3PyTorch基礎
15.3.1張量
15.3.2自動求導
15.3.3神經(jīng)網(wǎng)絡
15.3.4訓練分類器
第16章云計算和自動化運維應用領域
16.1云計算時代
16.2大行其道的DevOps
16.3CMDB資產(chǎn)管理
16.4服務器監(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ù)交付