內容簡介
全書共分14章,第1章~第8章為Python基礎知識的講解,包括Python概述、數據與數據結構、分支、循環、函式、檔案操作、面向對象編程、異常處理、多任務編程、GUI編程等內容; 從第9章開始,講述了Python在網路相關領域的套用,主要包括資料庫操作、加解密、網路編程、圖像處理、Web編程、網路數據抓取等內容。本書每一章節都包含大量的編程示例及其解釋說榜頌只明。本書適合於編程的初學者,或者學過其他程式語言又想學習Python的人員閱讀。
本書可以作為高等院校學生程式設計的入門教材,也可以作為網路安全專業的選修課教材,還可以作為工程酷舉技術人員及科研人員的參考書。
圖書目錄
第1章Python概述
1.1Python簡介
1.2Python的安裝
1.3安裝虛擬環境包virtualenvwrapperwin
1.4IDE簡介
1.4.1IDLE
1.4.2PyCharm
1.4.3Eclipse+PyDev
1.5快速入門
習題
第2章數據與數據結構
2.1數據類型
2.1.1布爾型
2.1.2整型
2.1.3浮點型
2.1.4復殃拜朵蜜數
2.1.5數據類型轉換
2.1.6數據的比較
2.1.7數值運算
2.1.8按位運算
2.1.9常見運算函式
2.2列表
2.2.1序列
2.2.2列表的定義
2.2.3列表的創建與刪除
2.2.4列表的讀取
2.2.5列表元素的增加與刪除
2.2.6列表的其他常用方法
2.3元組
2.4字典
2.4.1字典的創建
2.4.2字典元素的訪問
2.4.3字典的操作
2.4.4與字典有關的計算
2.5集合
2.5.1集合的創建
2.5.2集合的更新
2.5.3集合的組笑料運算
2.6字元串
2.6.1字元串的格式化
2.6.2字元串常用方法
習題
第3章Python語法基礎
3.1變數
3.2分支結構
3.2.1單分支結構
3.2.2雙分支結構
3.2.3多分支結構
3.3循環結構
3.3.1while循環
3.3.2for循環
3.3.3循環嵌套
3.3.4break和continue語句
3.4函式
3.4.1函式的定義與調用
3.4.2變數的作用域
3.4.3參數的默認值
3.4.4可變長參數
3.4.5lambda()匿名函式
習題
第4章檔案操作
4.1檔案的基本操作
4.1.1打開檔案
4.1.2關閉檔案
4.1.3讀取檔案
4.1.4寫入數糠埋遙晚據
4.1.5以添加方式寫入數據
4.2檔案指針
4.3基於上下文管理的檔案操作
4.4檔案屬性
4.5檔案的操作
4.5.1複製檔案
4.5.2刪除檔案
4.5.3檔案重命名
4.5.4移動檔案
4.6資料夾的操作
4.6.1資料夾的創建
4.6.2刪除文再匪鞏件夾
4.7內容比對
4.7.1Difflib模組實現字元串比較
4.7.2Filecmp模組實現檔案比較
習題
第5章面向對象編程
5.1類的定義
5.2類的私有變數與私有方法
5.3構造函式與析構函式
5.4靜態變數與靜態方法
5.4.1靜態變數
5.4.2靜態方法和類方法
5.5類的繼承
5.6多態
5.7多重繼承
習題
第6章異常處理
6.1捕獲並處理異常
6.1.1try...except...語句
6.1.2try...except...else...語句
6.2捕獲多個異常
6.3捕獲所有異常
6.4try...except...finally...語句
6.5創建自定義異常類
習題
第7章多任務編程
7.1多執行緒編程
7.1.1多執行緒的實現
7.1.2多執行緒的同步與通信
7.2多進程編程
7.2.1多進程的創建
7.2.2進程間數據的傳遞
7.2.3進程池
7.2.4子進程
習題
第8章GUI應用程式開發
8.1Python圖形界面工具集簡介
8.2Tkinter GUI程式編寫
8.2.1創建視窗
8.2.2標籤Label
8.2.3按鈕Button
8.2.4複選框Checkbutton
8.2.5單選按鈕Radiobutton
8.2.6列表框Listbox
8.2.7單行編輯框Entry
8.2.8多行編輯框Text
8.2.9選單Menu
8.3窗體布局管理
8.3.1pack()布局管理器
8.3.2grid()布乎翻影局管理器
8.3.3place()布局管理器
8.4事件處理
習題
第9章運算元據庫
9.2SQLite資料庫套用
9.4連線MS SQL Server資料庫
9.5連線MS Access資料庫
9.6對象關係管理器(ORM)
9.6.1SQLAlchemy的使用
9.6.2關係
9.7.1MongoDB的安裝與使用
9.7.2Python操作MongoDB
習題
第10章加解密
10.1.1Python中的Hash函式
10.1.2Crypto中的Hash函式
10.2.1AES加解密
10.2.2DES加解密
10.2.33DES加解密
10.2.4實用的AES加解密方法
10.3.1加密
10.3.2簽名與驗證
習題
第11章網路編程
11.1Socket編程
11.1.1TCP套接字編程
11.1.2UDP套接字編程
11.2SocketServer模組
11.2.1使用ForkingMixIn實現異步通信
11.2.2使用ThreadingMixIn實現異步通信
11.2.3使用Selects模組
11.3網路編程基礎
11.3.1Python網路編程基礎
11.3.2基於Socket的網路掃描
11.3.3獲取套用的Banner
11.3.4獲取並同步網路時間
11.4FTP客戶端編程
11.4.1FTP模式及命令
11.4.2ftplib.FTP方法
11.4.3互動式FTP操作
11.4.4FTP程式示例
11.5收發電子郵件
11.5.1Poplib模組簡介
11.5.2Smtplib模組傳送電子郵件
11.6實現Telnet遠程登錄
11.6.1Windows下開啟Telnet服務
11.6.2使用Python實現Telnet遠程登錄
11.7使用Python登錄SSH伺服器
11.7.1使用Paramiko模組
11.7.2使用Spur模組
11.7.3使用Fabric
習題
第12章Python圖像處理
12.1Image模組
12.2ImageDraw模組
12.3ImageFont模組
12.4ImageFilter模組
12.5PIL在安全領域的套用
12.5.1生成驗證碼圖片
12.5.2給圖片添加水印
12.5.3生成二維碼
習題
第13章Web程式開發
13.1Web基礎知識
13.1.1HTML簡介
13.1.2HTTP簡介
13.1.3WSGI與Python框架
13.2基於Flask的Web開發
13.2.1Flask的安裝
13.2.2模板
13.2.3表單
13.2.4連線資料庫
13.2.5其他附加功能
習題
第14章Python抓取網路數據
14.1網路基礎
14.1.1URI與URL
14.1.2網頁的結構
14.1.3測試網站的使用及架設
14.2使用urllib包抓取分析網頁
14.2.1urllib.request模組
14.2.2urllib.parse模組
14.2.3urllib其他模組
14.2.4獲取天氣預報數據
14.2.5簡單的網站爬蟲
14.3使用requests抓取網路數據
14.3.1requests基本用法
14.3.2GET()方法傳遞參數
14.3.3POST()方法傳遞參數
14.3.4Cookies與Session
14.3.5定製請求頭Headers
14.3.6代理訪問
14.4使用Beautiful Soup分析網頁
14.4.1Beautiful Soup基礎
習題
參考文獻
3.4.3參數的默認值
3.4.4可變長參數
3.4.5lambda()匿名函式
習題
第4章檔案操作
4.1檔案的基本操作
4.1.1打開檔案
4.1.2關閉檔案
4.1.3讀取檔案
4.1.4寫入數據
4.1.5以添加方式寫入數據
4.2檔案指針
4.3基於上下文管理的檔案操作
4.4檔案屬性
4.5檔案的操作
4.5.1複製檔案
4.5.2刪除檔案
4.5.3檔案重命名
4.5.4移動檔案
4.6資料夾的操作
4.6.1資料夾的創建
4.6.2刪除資料夾
4.7內容比對
4.7.1Difflib模組實現字元串比較
4.7.2Filecmp模組實現檔案比較
習題
第5章面向對象編程
5.1類的定義
5.2類的私有變數與私有方法
5.3構造函式與析構函式
5.4靜態變數與靜態方法
5.4.1靜態變數
5.4.2靜態方法和類方法
5.5類的繼承
5.6多態
5.7多重繼承
習題
第6章異常處理
6.1捕獲並處理異常
6.1.1try...except...語句
6.1.2try...except...else...語句
6.2捕獲多個異常
6.3捕獲所有異常
6.4try...except...finally...語句
6.5創建自定義異常類
習題
第7章多任務編程
7.1多執行緒編程
7.1.1多執行緒的實現
7.1.2多執行緒的同步與通信
7.2多進程編程
7.2.1多進程的創建
7.2.2進程間數據的傳遞
7.2.3進程池
7.2.4子進程
習題
第8章GUI應用程式開發
8.1Python圖形界面工具集簡介
8.2Tkinter GUI程式編寫
8.2.1創建視窗
8.2.2標籤Label
8.2.3按鈕Button
8.2.4複選框Checkbutton
8.2.5單選按鈕Radiobutton
8.2.6列表框Listbox
8.2.7單行編輯框Entry
8.2.8多行編輯框Text
8.2.9選單Menu
8.3窗體布局管理
8.3.1pack()布局管理器
8.3.2grid()布局管理器
8.3.3place()布局管理器
8.4事件處理
習題
第9章運算元據庫
9.2SQLite資料庫套用
9.4連線MS SQL Server資料庫
9.5連線MS Access資料庫
9.6對象關係管理器(ORM)
9.6.1SQLAlchemy的使用
9.6.2關係
9.7.1MongoDB的安裝與使用
9.7.2Python操作MongoDB
習題
第10章加解密
10.1.1Python中的Hash函式
10.1.2Crypto中的Hash函式
10.2.1AES加解密
10.2.2DES加解密
10.2.33DES加解密
10.2.4實用的AES加解密方法
10.3.1加密
10.3.2簽名與驗證
習題
第11章網路編程
11.1Socket編程
11.1.1TCP套接字編程
11.1.2UDP套接字編程
11.2SocketServer模組
11.2.1使用ForkingMixIn實現異步通信
11.2.2使用ThreadingMixIn實現異步通信
11.2.3使用Selects模組
11.3網路編程基礎
11.3.1Python網路編程基礎
11.3.2基於Socket的網路掃描
11.3.3獲取套用的Banner
11.3.4獲取並同步網路時間
11.4FTP客戶端編程
11.4.1FTP模式及命令
11.4.2ftplib.FTP方法
11.4.3互動式FTP操作
11.4.4FTP程式示例
11.5收發電子郵件
11.5.1Poplib模組簡介
11.5.2Smtplib模組傳送電子郵件
11.6實現Telnet遠程登錄
11.6.1Windows下開啟Telnet服務
11.6.2使用Python實現Telnet遠程登錄
11.7使用Python登錄SSH伺服器
11.7.1使用Paramiko模組
11.7.2使用Spur模組
11.7.3使用Fabric
習題
第12章Python圖像處理
12.1Image模組
12.2ImageDraw模組
12.3ImageFont模組
12.4ImageFilter模組
12.5PIL在安全領域的套用
12.5.1生成驗證碼圖片
12.5.2給圖片添加水印
12.5.3生成二維碼
習題
第13章Web程式開發
13.1Web基礎知識