Python編程從入門到實戰-輕松過二級
江紅、餘青松
相關主題
商品描述
本書集教材、練習冊、上機指導於一體,基於Python 3.8闡述Python語言的基礎知識,以及使用Python語言的開發應用實例。本書全面覆蓋電腦等級考試二級Python語言的知識範圍,具體內容包括程序設計導論、Python語言基礎、程序流程控制、函數和代碼復用、組合數據和數據結構基礎、輸入輸出和文件處理、數值和日期處理、字符串和文本處理、面向對象的程序設計、模塊化程序設計、數據庫訪問以及Python計算生態(Python第三方庫)等。本書還以電子版形式提供電腦等級考試(二級Python語言程序設計)題庫(真題和模擬題),作為學生學習和考級的開源學習資源。
作者簡介
江紅,副教授,博士。
研究領域:計算機系統分析與集成,CSCW,電子商務,嵌入式系統研究與應用。
曾榮獲華東師範大學教學成果三等獎、華東師範大學青年教師課堂教學大獎賽三等獎、華東師範大學優秀任課教師獎、華東師範大學優秀教學改革研究論文二等獎等。
目錄大綱
第1章Python程序設計導論
1.1程序設計語言
1.1.1計算機和程序
1.1.2程序設計和編程語言
1.1.3計算思維和程序設計方法
1.1.4程序的編寫和執行
1.2 Python語言概述
1.2.1 Python語言簡介
1.2.2 Python語言的特點
1.2.3 Python語言的應用範圍
1.3 Python語言版本和開發環境
1.3.1 Python語言的版本
1.3.2 Python語言的實現
1.3.3 Python語言的集成開發環境
1.3.4下載Python
1.3.5安裝Python
1.3.6安裝和管理Python擴展包
1.4開發和運行Python程序
1.4.1開發和運行Python程序的兩種方式
1.4.2使用Python解釋器解釋執行Python程序
1.4.3使用IDLE集成開發環境解釋執行Python程序
1.4.4使用文本編輯器和命令行編寫和執行Python源文件
1.4.5使用集成開發環境編寫和執行Python源文件
1.5程序的打包和發布
1.5.1安裝PyInstaller
1.5.2使用PyInstaller生成可執行程序
1.6在線幫助和相關資源
1.6.1 Python交互式幫助系統
1.6.2 Python文檔
1.6.3 Python官網
1. Python擴展庫索引(PyPI)
本章小結
第2章Python語言基礎
2.1 Python程序概述
2.1.1引例
2.1.2 Python程序構成
2.2 Python對象和引用
2.2.1 Python對象概述
2.2.2變量、賦值語句和對象的引用
2.2.3常量
2.2.4對象內存示意圖
2.2.5不可變對象和可變對象
2.3標識符及其命名規則
2.3.1標識符
2.3.2保留關鍵字
2.3.3 Python預定義標識符
2.3.4命名規則
2.4表達式和運算符
2.4.1表達式的組成
2.4.2表達式的書寫規則
2.4.3運算符概述
2.4.4 Python運算符及其優先級
2.5語句
2.5.1 Python語句
2.5.2 Python語句的書寫規則
2.5.3複合語句及其縮進書寫規則
2.5.4註釋語句
2.5.5空語句pass
2.6函數和模塊
2.6.1函數的創建和調用
2.6.2內置函數
2.6.3模塊函數
2.函數API
2.7數據類型
2.7.1概述
2.7.2整數類型
2.7.3浮點類型
2.7.4複數類型
2.7.5布爾類型
2.7.6混合運算和數值類型轉換
2.7.7字符串類型
2.7 .8字符串的格式化
2.7.9列表類型
2.7.10元組類型
2.7.11字典類型
2.8類和對象
2.8.1創建類對象
2.8.2實例對象的創建和調用
2.9模塊和包
2.9.1概述
2.9.2導入和使用模塊
2.10綜合應用: turtle模塊和海龜繪圖
2.10.1海龜繪圖概述
2.10.2繪製正方形
本章小結
第3章程序流程控制
3.1程序的流程
3.1.1輸入、處理和輸出(IPO)
3.1.2算法和數據結構
3.1.3程序流程圖
3.2順序結構
3.3選擇結構
3.3.1分支結構的形式
3.3.2條件表達式
3.3.3關係和測試運算符與關係表達式
3.3.4邏輯運算符和邏輯表達式
3.3.5單分支結構
3.3.6雙分支結構
3.3.7多分支結構
3.3.8 if語句的嵌套
3.3.9 if語句典型示例代碼
3.3.10選擇結構綜合舉例
3.4循環結構
3.4.1可迭代對象(iterable)
3.4.2 range對象
3.4.3 for循環
3.4.4 while循環
3.4.5循環的嵌套
3.4.6 break語句
3.4 .7 continue語句
3.4.8死循環(無限循環)
3.4.9 else子句
3.4.10循環語句典型示例代碼
3.4.11循環結構綜合舉例
3.5錯誤和異常處理
3.5.1程序的錯誤
3.5.2異常處理概述
3.5.3內置異常類和自定義異常類
3.5.4引發異常
3.5.5捕獲和處理異常
3.6綜合應用: turtle模塊的複雜圖形繪製
3.6.1繪製正方形(改進版)
3.6. 2繪製圓形螺旋
本章小結
第4章函數和代碼復用
4.1函數概述
4.1.1函數的基本概念
4.1.2函數的功能
4.1.3 Python函數的分類
4.2函數的聲明和調用
4.2.1函數對象的創建
4.2.2函數的調用
4.2.3函數的副作用
4.2.4 lamda表達式和匿名函數
4.3參數的傳遞
4.3.1形式參數和實際參數
4.3.2形式參數變量和對象引用傳遞
4.3.3可選參數
4.3.4位置參數和命名參數
4.3.5可變參數(VarArgs)
4.3.6參數類型檢查
4.4函數的返回值
4.4.1 return語句和函數返回值
4.4.2返回多個值
4.5變量的作用域
4.5 .1全局變量
4.5.2局部變量
4.5.3全局語句global
4.5.4非局部語句nonlocal
4.6遞歸函數
4.6.1遞歸函數的定義
4.6.2遞歸函數的原理
4.6.3遞歸函數需要注意的問題
4.6.4遞歸函數的應用: 最大公約數
4.6.5遞歸函數的應用: 漢諾塔
4.7內置函數的使用
4.7.1內置函數一覽
4.7.2eval()函數(動態表達式的求值)
4.7.3exec()函數(動態語句的執行)
4.7.4內置map()函數
4.7.5內置filter()函數
4.8綜合應用: turtle模塊的複雜圖形繪製
4.8.1繪製多邊形
4.8.2遞歸圖形
本章小結
第5章組合數據和數據結構
5.1數據結構基礎
5.1.1數據結構的定義
5.1.2數據的邏輯結構
5.1.3數據的物理結構
5.1.4常用算法
5.2常用的數據結構
5.2.1線性表
5.2.2隊列
5.2.3棧
5.2.4樹
5.2.5圖
5.2.6堆
5.2.7散列表
5.3Python系列數據概述
5.3.1數組
5.3.2序列數據類型
5.4序列數據的基本操作
5.4.1序列的長度、最大值、最小值、求和
5.4.2序列的索引訪問操作
5.4.3序列的切片操作
5.4.4序列的連接和重複操作
5.4.5序列的成員關係操作
5.4.6序列的比較運算操作
5.4.7序列的排序操作
5.4.8內置函數all()和any()
5.5列表
5.5.1創建列表實例對象
5.5.2列表的序列操作
5.5.3列表對象的方法
5.5.4列表解析表達式
5.5.5列表的排序
5.6元組
5.6.1創建元組實例對象
5.6.2元組的序列操作
5.7集合
5.7.1集合的定義
5.7.2集合的運算: 並集、交集、差集和對稱差集
5.7.3可變集合的方法
5.8字典(映射)
5.8.1對象的hash值
5.8.2字典的創建
5.8.3字典的訪問操作
5.8.4字典對象的方法
5.9算法基礎
5.9.1算法概述
5.9.2算法的時間複雜度分析
5.9.3增長量級
5.9.4算法的空間複雜度分析
5.10常用的查找和排序算法
5.10.1順序查找法
5.10.2二分查找法
5.10.3冒泡排序法
5.10.4選擇排序法
5.10.5插入排序法
5.10.6歸併排序法
5.10.7快速排序法
5.11應用舉例
5.11.1基於列表的簡易花名冊管理系統
5.11.2頻數表和直方圖
本章小結
第6章輸入、輸出和文件處理
6.1輸入和輸出概述
6.2命令行參數概述
6.2.1命令行參數
6.2.2命令行參數類型轉換
6.3標準輸入和標準輸出函數
6.3.1輸入和輸出函數
6.3.2交互式用戶輸入
6.4文件和文件對象
6.4.1文件對象和open()函數
6.4.2文件的打開、寫入、讀取和關閉
6.4.3with語句和上下文管理協議
6.5文本文件的讀取和寫入
6.5.1文本文件的寫入
6.5.2文本文件的讀取
6.5.3文本文件的編碼
6.6CSV格式文件的讀取和寫入
6.6.1CSV格式文件和csv模塊
6.6.2csv.reader對象和CSV文件的讀取
6.6.3csv.writer對象和CSV文件的寫入
6.7JSON格式文件的讀取和寫入
6.7.1JSON格式文件和json模塊
6.7.2JSON文件的寫入
6.7.3JSON文件的讀取
6.8隨機文件的讀取和寫入
6.9os模塊和文件目錄操作
6.10綜合應用: 文件數據的統計和分析
6.10.1統計存儲在文本文件中的學生成績信息
6.10.2統計存儲在CSV文件中的學生成績信息
6.10.3基於字典的通訊錄
本章小結
第7章數值處理與計算
7.1math模塊和數學函數
7.1.1math模塊
7.1.2math模塊的API
7.1.3math模塊應用舉例
7.2random模塊和隨機函數
7.2.1random模塊
7.2.2種子和隨機狀態
7.2.3常用隨機函數
7.3日期和時間處理
7.3.1相關術語
7.3.2time模塊和時間對象處理
7.3.3time模塊程序運行時間測量
7.3.4datetime模塊和日期時間對象處理
7.3.5日期時間格式化為字符串
7.3.6日期時間字符串解析為日期時間對象
7.4應用舉例
7.4.1使用阿基米德方法估算圓周率
7.4.2使用隨機數估值圓周率
7.4.3程序運行時間測量
本章小結
第8章字符串和文本處理
8.1字符串對象和文本處理
8.1.1字符串對象
8.1.2字符串類型的判斷
8.1.3字符串大小寫轉換
8.1.4字符串的填充、空白和對齊
8.1.5字符串的測試、查找和替換
8.1.6字符串的拆分和組合
8.1.7字符串應用舉例
8.2字符串格式化
8.2.1%元算符形式
8.2.2format內置函數
8.2.3字符串的format方法
8.2.4對象轉換為字符串
8.2.5格式化字符串變量
8.3正則表達式和re模塊
8.3.1正則表達式語言概述
8.3.2正則表達式引擎和re模塊
8.3.3使用正則表達式拆分英文文本
8.4中文分詞庫jieba
8.4.1安裝jieba庫
8.4.2jieba庫的分詞模式和常用函數
8.4.3使用jieba庫分析統計中文文檔
8.5詞云庫Wordcloud
8.5.1安裝Wordcloud
8.5.2Wordcloud庫的API
8.5.3定制詞云圖的繪製參數
8.5.4使用Wordcloud庫顯示中文詞云圖
8.6應用舉例
8.6.1文本統計
8.6.2基因預測
8.6.3字符串簡單加密和解密
本章小結
第9章面向對象的程序設計基礎
9.1面向對象的概念
9.1.1對象的定義
9.1.2封裝
9.1.3繼承
9.1.4多態性
9.2類對象和實例對象
9.2.1類對象
9.2.2實例對象
9.3屬性
9.3.1實例對象屬性
9.3.2類對象屬性
9.3.3私有屬性和公有屬性
9.3.4特殊屬性
9.4方法
9.4.1對象實例方法
9.4.2__init__()方法(構造函數)
9.4.3私有方法與公有方法
9.4.4方法重載
9.5對象的特殊方法
9.5.1對象的特殊方法概述
9.5.2運算符重載與對象的特殊方法
9.6繼承
9.6.1派生類
9.6.2類成員的繼承和重寫
9.7應用舉例
9.7.1顏色(Color)類
9.7.2直方圖(Histogram)類
本章小結
第10章模塊和模塊化程序設計
10.1模塊化程序設計的概念
10.1.1模塊化程序設計
10.1.2模塊的API
10.1.3模塊的實現
10.1.4模塊的客戶端
10.1.5模塊化程序設計的優越性
10.2模塊的設計和實現
10.2.1模塊設計的一般原則
10.2.2API設計
10.2.3創建模塊
10.2.4模塊的私有函數
10.2.5模塊的測試代碼
10.2.6編寫模塊文檔字符串
10.2.7按字節編譯的.pyc文件
10.3包
10.3.1包的概念
10.3.2創建包
10.3.3包的導入和使用
10.4名稱空間與名稱查找順序
10.5應用舉例: 基於模塊的庫存管理系統
10.5.1庫存管理系統的API設計
10.5.2庫存管理系統的功能設計
10.5.3主模塊main.py的實現
10.5.4用戶界面交互模塊ui.py的實現
10.5.5數據處理模塊data.py的實現
10.5.6系統測試運行
本章小結
第11章數據庫訪問基礎
11.1數據庫基礎
11.1.1數據庫的概念
11.1.2數據庫模型
11.1.3關係數據庫
11.2Python數據庫訪問模塊
11.2.1通用數據庫訪問模塊
11.2.2專用數據庫訪問模塊
11.2.3SQLite數據庫和sqlite3模塊
11.3使用sqlite3模塊連接和操作SQLite數據庫
11.3.1訪問數據庫的典型步驟
11.3.2創建數據庫和表
11.3.3數據庫表的插入、更新和刪除操作
11.3.4數據庫表的查詢操作
11.4使用SQLiteStudio查看和維護SQLite數據庫
本章小結
第12章Python計算生態
12.1Python標準庫
12.2第三方庫和PyPI
12.3Python科學計算環境
12.3.1Python科學計算環境發行包
12.3.2安裝和使用Anaconda
12.3.3使用IPython進行交互式科學計算
12.3.4使用集成開發環境Spyder開發程序
12.3.5使用Jupyter Notebook進行數據分析
12.4科學計算和數據處理
12.5文本處理與分析
12.6數據可視化
12.7網絡爬蟲和Web信息提取
12.8機器學習和深度學習
12.9圖形用戶界面
12.10圖形和圖像處理
12.11Web開發
12.12遊戲開發
12.13其他第三方庫
本章小結
上機實踐
附錄A上海市高等學校計算機等級考試(二級)《Python程序設計》考試大綱(2016年修訂版)
附錄B全國計算機等級考試·二級Python語言程序設計(2018年版)
附錄C江蘇省高等學校計算機等級考試·二級Python語言