Python3從入門到實戰

Python3從入門到實戰

《Python3從入門到實戰》是2019年10月電子工業出版社出版的圖書,作者是董洪偉。

基本介紹

  • 書名:2Python3從入門到實戰
  • 作者:董洪偉
  • ISBN:9787121353567 
  • 頁數:428
  • 定價:¥75.0
  • 出版社:電子工業出版社
  • 出版時間:2019年10月
  • 開本:16開
內容簡介,目錄,

內容簡介

本書是一本語法與實踐相結合的Python 入門教程,全書分為上、下篇。上篇為“Python 語法與實踐”,以簡明的語言、易懂的案例介紹Python 的變數與對象、運算符與表達式、控制語句、函式、內置數據類型,Python 的面向對象特徵,如類與對象、派生類、類的實例與靜態方法等Python 語言的核心語法,以及疊代器與可疊代對象、閉包、裝飾器、@property、深拷貝與淺拷貝等高級語言特徵,還介紹了錯誤與異常、調試。在核心語法部分採用來自數據結構、遊戲編程、信息管理、機器學習、強化學習等其他學科和領域的一些經典問題作為實戰演練,展示了Python 解決實際問題的強大功能,以提高初學者的實際編程能力,使其儘快熟悉語法的使用。下篇為“Python 標準庫”,對常用的一些Python 標準庫,如作業系統接口模組、時間日期模組,以及正則表達式、並發計算、圖形用戶接口編程、網路套接字編程、Internet 套用編程、數據持久化等進行了介紹。
本書描述精練、通俗易懂,提供了豐富的實戰案例,既可作為大學本科和高職高專相關專業課程的教材,也可供編程愛好者學習和參考。

目錄

上篇 Python語法與實踐
第1章 Python介紹
1.1 程式與程式語言
1.1.1 計算機是什麼
1.1.2 計算機編程
1.1.3 編譯器、解釋器和Python語言
1.1.4 Python程式開發步驟
1.2 Python語言的主要特徵
1.3 Python開發環境及安裝方式
1.3.1 安裝Python
1.3.2 Python開發環境
1.4 Python解釋器
1.4.1 互動式解釋執行模式
1.4.2 函式
1.4.3 運行腳本檔案模式
1.4.4 語句和注釋
1.5 數和字元的表示
1.5.1 數的表示
1.5.2 字元的表示
1.6 如何獲得幫助
1.7 習題
第2章 Python基本計算
2.1 值、類型、對象
2.1.1 值和類型
2.1.2 對象
2.2 變數
2.2.1 什麼是變數
2.2.2 變數名和關鍵字
2.2.3 動態類型語言
2.3 數據類型概述
2.3.1 數值類型
2.3.2 列表
2.3.3 元組
2.3.4 字元串
2.3.5 集合
2.3.6 字典
2.4 類型轉換和輸入
2.4.1 隱式類型轉換
2.4.2 顯式類型轉換
2.4.3 輸入
2.5 運算符和表達式
2.5.1 運算符和表達式的套用方法
2.5.2 運算符的種類
2.5.3 運算符的優先權
2.6 可變對象和不可變對象
2.7 控制語句
2.7.1 if條件語句
2.7.2 循環語句
2.7.3 pass語句
2.8 實戰
2.8.1 二分查找
2.8.2 冒泡排序和簡單選擇排序
2.8.3 Floyd最短路徑算法
2.9 習題
第3章 函式
3.1 定義函式、調用函式、參數傳遞
3.1.1 定義函式和調用函式
3.1.2 參數傳遞
3.1.3 return語句
3.1.4 文檔字元串
3.2 全局變數和局部變數
3.2.1 全局變數
3.2.2 局部變數
3.3 函式的參數
3.3.1 默認形參
3.3.2 位置實參和關鍵字實參
3.3.3 任意形參(可變形參)
3.3.4 字典形參
3.3.5 解封參數列表
3.4 遞歸函式(調用自身的函式)
3.4.1 遞歸函式的使用方法
3.4.2 實戰:二分查找的遞歸實現
3.4.3 實戰:漢諾塔問題
3.4.4 實戰:快速排序算法
3.4.5 實戰:迷宮問題
3.5 函式對象和lambda表達式
3.5.1 函式對象
3.5.2 lambda表達式
3.6 模組和包
3.6.1 模組
3.6.2 sys模組(Python解釋器接口)
3.6.3 偽隨機數發生器模組
3.6.4 包
3.6.5 Matplotlib包
3.7 實戰:Pong遊戲
3.7.1 Pygame遊戲庫介紹
3.7.2 用Pygame編寫遊戲
3.7.3 Pong遊戲
3.8 實戰:線性回歸
3.8.1 機器學習
3.8.2 假設函式、回歸和分類
3.8.3 線性回歸
3.8.4 多變數函式的最小值、正規方程
3.8.5 梯度下降法
3.8.6 梯度下降法求解線性回歸問題:模擬數據
3.8.7 批梯度下降法
3.8.8 房屋價格預測
3.8.9 樣本特徵的規範化
3.8.10 利用預測模型預測房屋價格
3.9 習題
第4章 內置數據類型
4.1 數值
4.1.1 int、float、complex、bool
4.1.2 類型轉換
4.1.3 浮點數的精度問題
4.1.4 數值計算的函式
4.1.5 數學模組
4.2 列表
4.2.1 列表的定義
4.2.2 訪問list的元素(索引和切片)
4.2.3 包含和遍歷
4.2.4 list的算術運算
4.2.5 Python的內置函式對list進行操作
4.2.6 list的方法
4.2.7 列表解析式
4.2.8 list包含的不是對象本身而是對象的引用
4.3 字元串
4.3.1 定義字元串
4.3.2 轉義字元
4.3.3 索引
4.3.4 切片
4.3.5 字元串不可修改
4.3.6 包含和遍歷
4.3.7 內置函式對字元串操作
4.3.8 字元串的方法
4.4 元組
4.4.1 創建tuple對象
4.4.2 索引和切片
4.4.3 tuple是不可變的
4.4.4 用內置函式對tuple操作
4.4.5 tuple的方法
4.5 集合
4.5.1 創建set對象
4.5.2 遍歷set
4.5.3 用內置函式對set操作
4.5.4 set的方法
4.5.5 set的運算符操作
4.5.6 set的集合運算(並、交、對稱差)
4.6 字典
4.6.1 創建字典對象
4.6.2 獲取鍵的值
4.6.3 通過下標插入或更新一個鍵值
4.6.4 插入或更新多個鍵值:update()方法
4.6.5 刪除鍵值
4.6.6 獲取所有鍵、所有值、所有鍵值
4.6.7 遍歷所有鍵、所有值、所有鍵值
4.6.8 用內置函式訪問dict對象
4.6.9 從兩個可疊代對象創建一個dict
4.6.10 用in檢測dict對象是否包含某個鍵
4.7 用強化學習Q-Learning算法求解最佳路徑
4.7.1 強化學習
4.7.2 Q-Learning算法
4.7.3 Q-Learning算法的Python實現
4.8 習題
第5章 面向對象編程
5.1 什麼是面向對象編程
5.1.1 過程式編程和面向對象編程
5.1.2 Python既支持面向對象編程,也支持過程式編程
5.1.3 列印員工信息
5.2 類和對象
5.2.1 定義類
5.2.2 實例屬性和構造函式
5.2.3 實例方法
5.2.4 類屬性
5.2.5 del
5.2.6 訪問控制和私有屬性
5.2.7 運算符重載
5.3 派生類
5.3.1 派生類
5.3.2 覆蓋
5.3.3 多繼承
5.3.4 屬性解析
5.4 綁定屬性
5.4.1 動態綁定:給類和對象任意綁定屬性
5.4.2 對象的__dict__屬性
5.4.3 __slots__
5.5 實戰:二叉搜尋樹
5.5.1 樹、二叉樹、二叉搜尋樹
5.5.2 樹和二叉樹的存儲表示
5.5.3 二叉樹的操作
5.5.4 二叉搜尋樹的操作
5.6 實戰:面向對象遊戲引擎和仿“雷電戰機”遊戲
5.6.1 面向對象遊戲引擎
5.6.2 Pong遊戲
5.6.3 仿“雷電戰機”遊戲
5.7 習題
第6章 輸入/輸出
6.1 標準輸入/輸出
6.1.1 標準輸出函式print()
6.1.2 格式化輸出
6.1.3 美觀輸出函式pprint()
6.1.4 標準輸入(內置函式input())
6.2 檔案讀/寫
6.2.1 內置函式open()
6.2.2 檔案對象的方法
6.2.3 二進制檔案讀/寫
6.2.4 tell()方法和seek()方法
6.3 習題
第7章 錯誤和異常
7.1 錯誤
7.1.1 語法錯誤
7.1.2 運行時錯誤:異常
7.1.3 邏輯錯誤
7.2 異常處理
7.2.1 捕捉異常的基本形式
7.2.2 捕獲特定類型的異常
7.2.3 捕獲未知的內置異常
7.2.4 else子句
7.2.5 finally子句
7.2.6 用raise拋出異常
7.2.7 自定義異常類
7.2.8 預定義清理行為
7.3 調試程式
7.3.1 輸出(列印)
7.3.2 斷言
7.3.3 日誌
7.3.4 調試工具
7.4 習題
第8章 高級語法特性
8.1 容器、可疊代對象、疊代器、生成器
8.1.1 容器
8.1.2 可疊代的和疊代器
8.1.3 生成器
8.1.4 例子:讀取多個檔案
8.1.5 標準庫的疊代器工具
8.2 閉包
8.2.1 作用域
8.2.2 嵌套函式
8.2.3 什麼是閉包
8.2.4 用閉包代替類
8.2.5 函式的閉包屬性__closure__
8.3 裝飾器
8.4 @property
8.5 類的靜態方法和類方法
8.5.1 靜態方法
8.5.2 類方法
8.6 淺拷貝、深拷貝
8.6.1 淺拷貝
8.6.2 深拷貝
8.7 習題
下篇 Python標準庫
第9章 標準庫的常用模組
9.1 作業系統接口模組
9.1.1 os模組
9.1.2 高層檔案操作
9.1.3 glob模組
9.2 時間和日期模組
9.2.1 時間模組
9.2.2 日期模組
9.3 習題
第10章 正則表達式
10.1 正則表達式的定義
10.2 re模組
10.2.1 re模組的常用函式
10.2.2 編譯模式串
10.2.3 從頭匹配
10.2.4 多個匹配
10.2.5 按匹配切分
10.2.6 替換匹配
10.3 正則表達式中的語法規則
10.3.1 字元集
10.3.2 反斜槓
10.3.3 量詞(重複)
10.3.4 邊界字元(錨點)
10.3.5 或運算
10.3.6 分組
10.4 match和flags
10.4.1 match對象及其套用
10.4.2 標誌參數
10.5 習題
第11章 並發計算
11.1 多執行緒
11.1.1 Thread類
11.1.2 執行緒同步
11.2 多進程
11.2.1 創建進程
11.2.2 從Process類派生自己的進程類
11.2.3 為進程命名
第12章 圖形用戶接口(GUI)編程
12.1 Tkinter基礎
12.1.1 事件驅動編程
12.1.2 第一個GUI程式
12.1.3 Tkinter部件
12.1.4 布局——幾何管理
12.1.5 屬性
12.1.6 自定義事件處理函式
12.1.7 定製事件處理函式
12.1.8 文本輸入框
12.1.9 獲取焦點
12.1.10 聊天對話框
12.1.11 框架
12.2 用類封裝GUI
12.2.1 選單
12.2.2 工具條
12.2.3 畫圖
12.2.4 用滑鼠畫圖
第13章 網路套接字編程
13.1 套接字編程概述
13.1.1 創建一個socket對象
13.1.2 伺服器:綁定地址
13.1.3 面向連線的監聽
13.1.4 傳送和接收數據
13.2 TCP伺服器程式和客戶程式
13.2.1 最簡單的TCP伺服器程式和客戶程式
13.2.2 TCP伺服器程式和客戶程式(多連線)
13.2.3 TCP伺服器程式和客戶程式(數據分塊)
13.2.4 TCP伺服器程式(多進程)
13.2.5 TCP伺服器程式(多執行緒)
13.3 UDP伺服器程式和客戶程式
13.3.1 UDP伺服器程式
13.3.2 UDP客戶程式
13.4 socketserver
13.4.1 socketserver模組
13.4.2 socketserver.TCPServer
13.4.3 socketserver.UDPServer
第14章 Internet套用編程
14.1 urllib模組
14.1.1 Get請求
14.1.2 Post請求
14.1.3 Request對象
14.1.4 代理伺服器
14.1.5 登錄驗證
14.1.6 網路爬蟲
14.2 email
14.2.1 smtplib模組
14.2.2 收取和處理郵件
第15章 數據持久化
15.1 pickle模組
15.2 shelve模組
15.3 dbm模組
15.4 json模組
15.4.1 簡單數據類型的編碼和解碼
15.4.2 自定義類型的編碼和解碼
15.4.3 編碼類和解碼類
15.4.4 流或檔案
15.5 sqlite3模組
15.5.1 資料庫基本操作
15.5.2 在查詢中使用變數
15.5.3 事務
參考文獻,
上篇 Python語法與實踐
第1章 Python介紹
1.1 程式與程式語言
1.1.1 計算機是什麼
1.1.2 計算機編程
1.1.3 編譯器、解釋器和Python語言
1.1.4 Python程式開發步驟
1.2 Python語言的主要特徵
1.3 Python開發環境及安裝方式
1.3.1 安裝Python
1.3.2 Python開發環境
1.4 Python解釋器
1.4.1 互動式解釋執行模式
1.4.2 函式
1.4.3 運行腳本檔案模式
1.4.4 語句和注釋
1.5 數和字元的表示
1.5.1 數的表示
1.5.2 字元的表示
1.6 如何獲得幫助
1.7 習題
第2章 Python基本計算
2.1 值、類型、對象
2.1.1 值和類型
2.1.2 對象
2.2 變數
2.2.1 什麼是變數
2.2.2 變數名和關鍵字
2.2.3 動態類型語言
2.3 數據類型概述
2.3.1 數值類型
2.3.2 列表
2.3.3 元組
2.3.4 字元串
2.3.5 集合
2.3.6 字典
2.4 類型轉換和輸入
2.4.1 隱式類型轉換
2.4.2 顯式類型轉換
2.4.3 輸入
2.5 運算符和表達式
2.5.1 運算符和表達式的套用方法
2.5.2 運算符的種類
2.5.3 運算符的優先權
2.6 可變對象和不可變對象
2.7 控制語句
2.7.1 if條件語句
2.7.2 循環語句
2.7.3 pass語句
2.8 實戰
2.8.1 二分查找
2.8.2 冒泡排序和簡單選擇排序
2.8.3 Floyd最短路徑算法
2.9 習題
第3章 函式
3.1 定義函式、調用函式、參數傳遞
3.1.1 定義函式和調用函式
3.1.2 參數傳遞
3.1.3 return語句
3.1.4 文檔字元串
3.2 全局變數和局部變數
3.2.1 全局變數
3.2.2 局部變數
3.3 函式的參數
3.3.1 默認形參
3.3.2 位置實參和關鍵字實參
3.3.3 任意形參(可變形參)
3.3.4 字典形參
3.3.5 解封參數列表
3.4 遞歸函式(調用自身的函式)
3.4.1 遞歸函式的使用方法
3.4.2 實戰:二分查找的遞歸實現
3.4.3 實戰:漢諾塔問題
3.4.4 實戰:快速排序算法
3.4.5 實戰:迷宮問題
3.5 函式對象和lambda表達式
3.5.1 函式對象
3.5.2 lambda表達式
3.6 模組和包
3.6.1 模組
3.6.2 sys模組(Python解釋器接口)
3.6.3 偽隨機數發生器模組
3.6.4 包
3.6.5 Matplotlib包
3.7 實戰:Pong遊戲
3.7.1 Pygame遊戲庫介紹
3.7.2 用Pygame編寫遊戲
3.7.3 Pong遊戲
3.8 實戰:線性回歸
3.8.1 機器學習
3.8.2 假設函式、回歸和分類
3.8.3 線性回歸
3.8.4 多變數函式的最小值、正規方程
3.8.5 梯度下降法
3.8.6 梯度下降法求解線性回歸問題:模擬數據
3.8.7 批梯度下降法
3.8.8 房屋價格預測
3.8.9 樣本特徵的規範化
3.8.10 利用預測模型預測房屋價格
3.9 習題
第4章 內置數據類型
4.1 數值
4.1.1 int、float、complex、bool
4.1.2 類型轉換
4.1.3 浮點數的精度問題
4.1.4 數值計算的函式
4.1.5 數學模組
4.2 列表
4.2.1 列表的定義
4.2.2 訪問list的元素(索引和切片)
4.2.3 包含和遍歷
4.2.4 list的算術運算
4.2.5 Python的內置函式對list進行操作
4.2.6 list的方法
4.2.7 列表解析式
4.2.8 list包含的不是對象本身而是對象的引用
4.3 字元串
4.3.1 定義字元串
4.3.2 轉義字元
4.3.3 索引
4.3.4 切片
4.3.5 字元串不可修改
4.3.6 包含和遍歷
4.3.7 內置函式對字元串操作
4.3.8 字元串的方法
4.4 元組
4.4.1 創建tuple對象
4.4.2 索引和切片
4.4.3 tuple是不可變的
4.4.4 用內置函式對tuple操作
4.4.5 tuple的方法
4.5 集合
4.5.1 創建set對象
4.5.2 遍歷set
4.5.3 用內置函式對set操作
4.5.4 set的方法
4.5.5 set的運算符操作
4.5.6 set的集合運算(並、交、對稱差)
4.6 字典
4.6.1 創建字典對象
4.6.2 獲取鍵的值
4.6.3 通過下標插入或更新一個鍵值
4.6.4 插入或更新多個鍵值:update()方法
4.6.5 刪除鍵值
4.6.6 獲取所有鍵、所有值、所有鍵值
4.6.7 遍歷所有鍵、所有值、所有鍵值
4.6.8 用內置函式訪問dict對象
4.6.9 從兩個可疊代對象創建一個dict
4.6.10 用in檢測dict對象是否包含某個鍵
4.7 用強化學習Q-Learning算法求解最佳路徑
4.7.1 強化學習
4.7.2 Q-Learning算法
4.7.3 Q-Learning算法的Python實現
4.8 習題
第5章 面向對象編程
5.1 什麼是面向對象編程
5.1.1 過程式編程和面向對象編程
5.1.2 Python既支持面向對象編程,也支持過程式編程
5.1.3 列印員工信息
5.2 類和對象
5.2.1 定義類
5.2.2 實例屬性和構造函式
5.2.3 實例方法
5.2.4 類屬性
5.2.5 del
5.2.6 訪問控制和私有屬性
5.2.7 運算符重載
5.3 派生類
5.3.1 派生類
5.3.2 覆蓋
5.3.3 多繼承
5.3.4 屬性解析
5.4 綁定屬性
5.4.1 動態綁定:給類和對象任意綁定屬性
5.4.2 對象的__dict__屬性
5.4.3 __slots__
5.5 實戰:二叉搜尋樹
5.5.1 樹、二叉樹、二叉搜尋樹
5.5.2 樹和二叉樹的存儲表示
5.5.3 二叉樹的操作
5.5.4 二叉搜尋樹的操作
5.6 實戰:面向對象遊戲引擎和仿“雷電戰機”遊戲
5.6.1 面向對象遊戲引擎
5.6.2 Pong遊戲
5.6.3 仿“雷電戰機”遊戲
5.7 習題
第6章 輸入/輸出
6.1 標準輸入/輸出
6.1.1 標準輸出函式print()
6.1.2 格式化輸出
6.1.3 美觀輸出函式pprint()
6.1.4 標準輸入(內置函式input())
6.2 檔案讀/寫
6.2.1 內置函式open()
6.2.2 檔案對象的方法
6.2.3 二進制檔案讀/寫
6.2.4 tell()方法和seek()方法
6.3 習題
第7章 錯誤和異常
7.1 錯誤
7.1.1 語法錯誤
7.1.2 運行時錯誤:異常
7.1.3 邏輯錯誤
7.2 異常處理
7.2.1 捕捉異常的基本形式
7.2.2 捕獲特定類型的異常
7.2.3 捕獲未知的內置異常
7.2.4 else子句
7.2.5 finally子句
7.2.6 用raise拋出異常
7.2.7 自定義異常類
7.2.8 預定義清理行為
7.3 調試程式
7.3.1 輸出(列印)
7.3.2 斷言
7.3.3 日誌
7.3.4 調試工具
7.4 習題
第8章 高級語法特性
8.1 容器、可疊代對象、疊代器、生成器
8.1.1 容器
8.1.2 可疊代的和疊代器
8.1.3 生成器
8.1.4 例子:讀取多個檔案
8.1.5 標準庫的疊代器工具
8.2 閉包
8.2.1 作用域
8.2.2 嵌套函式
8.2.3 什麼是閉包
8.2.4 用閉包代替類
8.2.5 函式的閉包屬性__closure__
8.3 裝飾器
8.4 @property
8.5 類的靜態方法和類方法
8.5.1 靜態方法
8.5.2 類方法
8.6 淺拷貝、深拷貝
8.6.1 淺拷貝
8.6.2 深拷貝
8.7 習題
下篇 Python標準庫
第9章 標準庫的常用模組
9.1 作業系統接口模組
9.1.1 os模組
9.1.2 高層檔案操作
9.1.3 glob模組
9.2 時間和日期模組
9.2.1 時間模組
9.2.2 日期模組
9.3 習題
第10章 正則表達式
10.1 正則表達式的定義
10.2 re模組
10.2.1 re模組的常用函式
10.2.2 編譯模式串
10.2.3 從頭匹配
10.2.4 多個匹配
10.2.5 按匹配切分
10.2.6 替換匹配
10.3 正則表達式中的語法規則
10.3.1 字元集
10.3.2 反斜槓
10.3.3 量詞(重複)
10.3.4 邊界字元(錨點)
10.3.5 或運算
10.3.6 分組
10.4 match和flags
10.4.1 match對象及其套用
10.4.2 標誌參數
10.5 習題
第11章 並發計算
11.1 多執行緒
11.1.1 Thread類
11.1.2 執行緒同步
11.2 多進程
11.2.1 創建進程
11.2.2 從Process類派生自己的進程類
11.2.3 為進程命名
第12章 圖形用戶接口(GUI)編程
12.1 Tkinter基礎
12.1.1 事件驅動編程
12.1.2 第一個GUI程式
12.1.3 Tkinter部件
12.1.4 布局——幾何管理
12.1.5 屬性
12.1.6 自定義事件處理函式
12.1.7 定製事件處理函式
12.1.8 文本輸入框
12.1.9 獲取焦點
12.1.10 聊天對話框
12.1.11 框架
12.2 用類封裝GUI
12.2.1 選單
12.2.2 工具條
12.2.3 畫圖
12.2.4 用滑鼠畫圖
第13章 網路套接字編程
13.1 套接字編程概述
13.1.1 創建一個socket對象
13.1.2 伺服器:綁定地址
13.1.3 面向連線的監聽
13.1.4 傳送和接收數據
13.2 TCP伺服器程式和客戶程式
13.2.1 最簡單的TCP伺服器程式和客戶程式
13.2.2 TCP伺服器程式和客戶程式(多連線)
13.2.3 TCP伺服器程式和客戶程式(數據分塊)
13.2.4 TCP伺服器程式(多進程)
13.2.5 TCP伺服器程式(多執行緒)
13.3 UDP伺服器程式和客戶程式
13.3.1 UDP伺服器程式
13.3.2 UDP客戶程式
13.4 socketserver
13.4.1 socketserver模組
13.4.2 socketserver.TCPServer
13.4.3 socketserver.UDPServer
第14章 Internet套用編程
14.1 urllib模組
14.1.1 Get請求
14.1.2 Post請求
14.1.3 Request對象
14.1.4 代理伺服器
14.1.5 登錄驗證
14.1.6 網路爬蟲
14.2 email
14.2.1 smtplib模組
14.2.2 收取和處理郵件
第15章 數據持久化
15.1 pickle模組
15.2 shelve模組
15.3 dbm模組
15.4 json模組
15.4.1 簡單數據類型的編碼和解碼
15.4.2 自定義類型的編碼和解碼
15.4.3 編碼類和解碼類
15.4.4 流或檔案
15.5 sqlite3模組
15.5.1 資料庫基本操作
15.5.2 在查詢中使用變數
15.5.3 事務
參考文獻

相關詞條

熱門詞條

聯絡我們