本書以Python編程語言為載體,以微課為媒介,從基本編程應(yīng)用到綜合項目設(shè)計逐級推進、衍化,通過221個實例詳細介紹了Python編程語言的基礎(chǔ)知識和語法操作規(guī)范,同時還剖析了18個綜合應(yīng)用案例,從而培養(yǎng)讀者解決人工智能應(yīng)用問題的編程能力,完成Python算法庫的建構(gòu)與應(yīng)用,最終用程序來模擬或?qū)崿F(xiàn)人類的學習行為。
本書可以作為高職院校計算機類、自動化類、電子信息類、數(shù)字經(jīng)濟類等專業(yè)Python編程課程的參考教材,也可作為廣大Python編程語言愛好者自學的參考書。
前言
二維碼清單
第1章Python編程基礎(chǔ)概念
1.1Python語言概述
1.1.1Python語言發(fā)展概況與配置
1.1.2官網(wǎng)Python軟件包的安裝
1.1.3交互式解釋執(zhí)行與腳本式解釋運行
1.1.4PyCharm編程環(huán)境
1.1.5Jupyter編程環(huán)境
1.2語法規(guī)則和基本數(shù)據(jù)類型
1.2.1Python語法規(guī)則
1.2.2數(shù)據(jù)類型概述
1.2.3變量與常量
1.2.4整數(shù)類型
1.2.5小數(shù)、浮點數(shù)和復數(shù)類型
1.2.6字符串及其基本操作
1.2.7數(shù)據(jù)類型轉(zhuǎn)換
1.3基本輸入輸出和運算
1.3.1input()函數(shù)
1.3.2print()函數(shù)
1.3.3算術(shù)運算符
1.3.4賦值運算符
1.3.5位運算符
1.3.6比較運算符
1.3.7邏輯運算符
1.3.8運算符優(yōu)先級
1.4結(jié)構(gòu)化程序設(shè)計
1.4.1程序設(shè)計與算法
1.4.2結(jié)構(gòu)化程序設(shè)計的基本要點
1.4.3選擇結(jié)構(gòu)
1.4.4循環(huán)結(jié)構(gòu)
第2章組合數(shù)據(jù)類型
2.1序列數(shù)據(jù)類型
2.1.1序列概述
2.1.2列表(List)
2.1.3元組(Tuple)
2.1.4字符串(String)
2.2映射數(shù)據(jù)類型
2.2.1字典及其創(chuàng)建
2.2.2字典的基本操作與方法
2.3集合數(shù)據(jù)類型
2.3.1集合及其創(chuàng)建
2.3.2集合的基本操作與方法
2.4采用選擇與循環(huán)實現(xiàn)組合數(shù)據(jù)操作
2.4.1列表推導式
2.4.2字典推導式
2.4.3集合推導式
2.5綜合項目編程實例
2.5.1編寫計算班級學生平均分的程序
2.5.2編寫判斷輸入的數(shù)是否為素數(shù)的程序
2.5.3嵌套循環(huán)實現(xiàn)冒泡排序
2.5.4用戶名和密碼的輸入驗證
第3章函數(shù)與模塊
3.1函數(shù)的定義
3.1.1Python程序結(jié)構(gòu)特點
3.1.2自定義函數(shù)的基本概念
3.1.3形式參數(shù)、實際參數(shù)以及傳遞機制
3.1.4函數(shù)的參數(shù)屬性
3.1.5函數(shù)的變量特性
3.1.6相關(guān)內(nèi)置函數(shù)
3.2函數(shù)的高級應(yīng)用
3.2.1匿名函數(shù)lambda表達式
3.2.2閉包函數(shù)
3.2.3遞歸函數(shù)
3.3對象與類
3.3.1對象的引入
3.3.2類的構(gòu)造方法
3.3.3property()函數(shù)和@property裝飾器
3.4類的封裝與繼承
3.4.1封裝
3.4.2繼承
3.4.3多態(tài)
3.5模塊與庫的導入
3.5.1導入模塊
3.5.2時間和日期處理模塊
3.5.3random庫
3.5.4string模塊
3.5.5math和cmath模塊
3.5.6sys模塊
3.5.7webbrowser模塊
3.6綜合項目編程實例
3.6.1遞歸函數(shù)的綜合應(yīng)用
3.6.2繼承的綜合應(yīng)用
3.6.3日期時間模塊的綜合應(yīng)用
第4章文件及文件夾操作
4.1文件對象
4.1.1文件概述
4.1.2用open()函數(shù)打開文件
4.1.3讀取文件的3種函數(shù)
4.1.4用write()和writelines()函數(shù)寫入文件
4.1.5with as用法
4.2os、glob與shutil標準庫模塊
4.2.1os模塊
4.2.2os.path模塊
4.2.3glob模塊
4.2.4shutil模塊
4.3csv文件操作
4.3.1csv簡介
4.3.2reader()函數(shù)
4.3.3writer()函數(shù)
4.3.4DictReader()函數(shù)
4.4Excel文件操作
4.4.1openpyxl概述
4.4.2openpyxl庫函數(shù)
4.5文件異常處理
4.5.1異常的類型與含義
4.5.2異常處理方式
4.5.3assert語句
4.6綜合項目編程實例
4.6.1簡易文件搜索引擎
4.6.2統(tǒng)計Python程序的文本行數(shù)
4.6.3自動整理當前目錄下的所有文件信息
第5章交互界面設(shè)計
5.1tkinter基礎(chǔ)
5.1.1GUI介紹
5.1.2創(chuàng)建tkinter窗口
5.2tkinter控件的屬性與函數(shù)
5.2.1tkinter窗口、Frame控件和Toplevel彈出窗口
5.2.2文本顯示與輸入
5.2.3按鈕和復選框
5.2.4菜單和菜單按鈕
5.2.5列表框和滑動條
5.2.6畫布(Canvas)
5.3tkinter控件的模塊
5.3.1messagebox模塊
5.3.2simpledialog模塊
5.3.3tkinter.filedialog模塊
5.3.4colorchooser模塊
5.4PyQt5界面
5.4.1PyQt5概述
5.4.2QtWidgets模塊
5.4.3PyQt5.QtCore模塊
5.5綜合項目編程實例
5.5.1信息輸入界面設(shè)計
5.5.2簡易瀏覽器
第6章網(wǎng)絡(luò)爬蟲應(yīng)用
6.1網(wǎng)絡(luò)與網(wǎng)頁基礎(chǔ)
6.1.1OSI和TCP/IP兩種模型
6.1.2URL格式的組成
6.1.3網(wǎng)絡(luò)爬蟲基本流程
6.1.4網(wǎng)頁構(gòu)成簡述
6.2urllib基本應(yīng)用
6.2.1urllib模塊介紹
6.2.2urllib.request模塊應(yīng)用
6.2.3urllib.parse模塊應(yīng)用
6.3BeautifulSoup基本應(yīng)用
6.3.1BeautifulSoup介紹
6.3.2BeautifulSoup標簽定位方法
6.3.3BeautifulSoup標簽選擇器
6.3.4使用標準庫解析分析網(wǎng)頁輸出
6.3.5使用lxml解析庫分析網(wǎng)頁輸出
6.3.6使用html5lib解析庫分析網(wǎng)頁輸出
6.4Scrapy基本應(yīng)用
6.4.1Scrapy介紹
6.4.2XPath節(jié)點
6.4.3用XPath語法編輯爬蟲文件
6.4.4用Item Pipeline和LinkExtractor爬取文件
6.5綜合項目編程實例
6.5.1爬取網(wǎng)頁連接數(shù)
6.5.2相關(guān)網(wǎng)頁圖片文件的獲取與保存
第7章數(shù)據(jù)可視化編程
7.1numpy庫
7.1.1numpy庫介紹
7.1.2常見的矩陣運算
7.2pandas庫
7.2.1pandas庫介紹
7.2.2pandas的索引對象
7.2.3pandas算術(shù)運算和數(shù)據(jù)對齊
7.2.4numpy函數(shù)應(yīng)用與映射
7.2.5DataFrame對象的排序
7.3Matplotlib庫
7.3.1Matplotlib庫繪圖入門
7.3.2基本2D圖繪制
7.3.3ax繪圖方式
7.3.4復雜繪圖函數(shù)及應(yīng)用
7.4綜合項目編程實例
7.4.1用tkinter窗口來繪制圖形
7.4.2利用爬蟲獲得數(shù)據(jù)后進行繪圖
第8章機器學習編程
8.1機器學習概述
8.1.1機器學習的定義
8.1.2過擬合和欠擬合
8.1.3評估模型
8.1.4sklearn庫
8.2線性回歸與多項式回歸
8.2.1線性回歸及實例
8.2.2回歸方程確定系數(shù)R2
8.2.3多項式回歸及實例
8.3邏輯回歸分類器
8.3.1邏輯回歸sigmoid函數(shù)
8.3.2邏輯回歸實例
8.4支持向量機
8.4.1支持向量機原理
8.4.2sklearn庫的支持向量機實現(xiàn)
8.4.3線性可分支持向量機實例
8.4.4線性不可分支持向量機實例
8.4.5線性近似可分支持向量機實例
8.5KNN算法
8.5.1KNN原理
8.5.2KNN算法中的kd樹
8.5.3KNN應(yīng)用實例
8.6綜合項目編程實例
8.6.1用支持向量機解決分類問題
8.6.2用KNN算法識別手寫數(shù)字
參考文獻