本書是Python開發者的完全指南——針對 Python 2.5全面升級
-
學習專業的Python風格、最佳實踐和好的編程習慣;
-
加強對Python物件、記憶體模型和Python面向物件特性的深入理解;
-
構建更有效的Web、CGI、互聯網、網路和其他客戶端/服務器架構應用程式及軟體;
-
學習如何使用Python中的Tkinter和其他工具來開發自己的GUI應用程式及軟體;
-
通過用C等語言撰寫擴展來提升Python應用程式的性能,或者通過使用多執行緒增強I/0相關的應用程式的能力;
-
學習Python中有關資料庫的API,以及如何在Python中使用各種不同的資料庫系統,包括MySQL、Postgres和 SQLite,
全網最全Python必讀書藉合集(PDF檔案免費下載)
目錄 · · · · · ·
第1部分 Python核心
第1章 歡迎來到Python世界
1.1 什么是Python
1.2 起源
1.3 特點
1.3.1 高級
1.3.2 面向物件
1.3.3 可升級
1.3.4 可擴展
1.3.5 可移植性
1.3.6 易學
1.3.7 易讀
1.3.8 易維護
1.3.9 健壯性
1.3.10 高效的快速原型開發工具
1.3.11 記憶體管理器
1.3.12 解釋性和(位元組)編譯性
1.4 下載和安裝Python
1.5 運行Python
1.5.1 命令列上的互動式解釋器
1.5.2 從命令列啟動腳本
1.5.3 集成開發環境
1.5.4 其他的集成開發環境和執行環境
1.6 Python檔案
1.7 比較Python(Python與其他語言的比較)
1.8 其他實作
1.9 練習
第2章 快速入門
2.1 程式輸出,print陳述句及“Hello World!”
2.2 程式輸入和raw_input()內建函式
2.3 注釋
2.4 運算子
2.5 變數和賦值
2.6 數字
2.7 字串
2.8 串列和元組
2.9 字典
2.10 代碼塊及縮進對齊
2.11 if陳述句
2.12 while回圈
2.13 for回圈和range()內建函式
2.14 串列決議
2.15 檔案和內建函式open()、file()
2.16 錯誤和例外
2.17 函式
2.17.1 如何定義函式
2.17.2 如何呼叫函式
2.17.3 默認引數
2.18 類
2.19 模塊
2.19.1 如何匯入模塊
2.19.2 如何訪問一個模塊函式或訪問一個模塊變數
2.20 實用的函式
2.21 練習
第3章 Python基礎
3.1 陳述句和語法
3.1.1 注釋(#)
3.1.2 繼續(\)
3.1.3 多個陳述句構成代碼組(:)
3.1.4 代碼組由不同的縮進分隔
3.1.5 同一行書寫多個陳述句(;)
3.1.6 模塊
3.2 變數賦值
3.2.1 賦值運算子
3.2.2 增量賦值
3.2.3 多重賦值
3.2.4 “多元”賦值
3.3 識別符號
3.3.1 合法的Python識別符號
3.3.2 關鍵字
3.3.3 內建
3.3.4 專用下劃線識別符號
3.4 基本風格指南
3.4.1 模塊結構和布局
3.4.2 在主程式中書寫測驗代碼
3.5 記憶體管理
3.5.1 變數定義
3.5.2 動態型別
3.5.3 記憶體分配
3.5.4 參考計數
3.5.5 垃圾收集
3.6 第一個Python程式
3.7 相關模塊和開發工具
3.8 練習
第4章 Python物件
4.1 Python 物件
4.2 標準型別
4.3 其他內建型別
4.3.1 型別物件和type型別物件
4.3.2 None--Python的Null物件
4.4 內部型別
4.4.1 代碼物件
4.4.2 幀物件
4.4.3 跟蹤記錄物件
4.4.4 切片物件
4.4.5 省略物件
4.4.6 XRange 物件
4.5 標準型別運算子
4.5.1 物件值的比較
4.5.2 物件身份比較
4.5.3 布爾型別
4.6 標準型別內建函式
4.6.1 type()
4.6.2 cmp()
4.6.3 str()和repr()(及``運算子)
4.6.4 type()和isinstance()
4.6.5 Python型別運算子和內建函式總結
4.7 型別工廠函式
4.8 標準型別的分類
4.8.1 存盤模型
4.8.2 更新模型
4.8.3 訪問模型
4.9 不支持的型別
4.10 練習
第5章 數字
5.1 數字簡介
5.1.1 如何創建數值物件并用其賦值(數字物件)
5.1.2 如何更新數字物件
5.1.3 如何洗掉數字物件
5.2 整型
5.2.1 布爾型
5.2.2 標準整型
5.2.3 長整型
5.2.4 整型和長整型的統一
5.3 雙精度浮點型
5.4 復數
5.5 運算子
5.5.1 混合模式運算子
5.5.2 標準型別運算子
5.5.3 算術運算子
5.5.4 位運算子(只適用于整型)
5.6 內建函式與工廠函式
5.6.1 標準型別函式
5.6.2 數字型別函式
5.6.3 僅用于整型的函式
5.7 其他數字型別
5.7.1 布爾“數”
5.7.2 十進制浮點型
5.8 相關模塊
5.9 練習
第6章 序列:字串、串列和元組
6.1 序列
6.1.1 標準型別運算子
6.1.2 序列型別運算子
6.1.3 內建函式(BIF)
6.2 字串
6.3 字串和運算子
6.3.1 標準型別運算子
6.3.2 序列運算子切片([]和[:])
6.4 只適用于字串的運算子
6.4.1 格式化運算子(%)
6.4.2 字串模板: 更簡單的替代品
6.4.3 原始字串運算子(r/R)
6.4.4 Unicode字串運算子(u/U)
6.5 內建函式
6.5.1 標準型別函式
6.5.2 序列型別函式
6.5.3 字串型別函式
6.6 字串內建函式
6.7 字串的獨特特性
6.7.1 特殊字串和控制字符
6.7.2 三引號
6.7.3 字串不變性
6.8 Unicode
6.8.1 術語
6.8.2 什么是Unicode
6.8.3 怎樣使用Unicode
6.8.4 Codec是什么
6.8.5 編碼解碼
6.8.6 把Unicode應用到實際應用中
6.8.7 從現實中得來的教訓
6.8.8 Python的Unicode支持
6.9 相關模塊
6.10 字串關鍵點總結
6.11 串列
6.12 運算子
6.12.1 標準型別運算子
6.12.2 序列型別運算子
6.12.3 串列型別運算子和串列決議
6.13 內建函式
6.13.1 標準型別函式
6.13.2 序列型別函式
6.13.3 串列型別內建函式
6.14 串列型別的內建函式
6.15 串列的特殊特性
6.16 元組
6.17 元組運算子和內建函式
6.17.1 標準型別運算子、序列型別運算子和內建函式
6.17.2 元組型別運算子和內建函式、內建方法
6.18 元組的特殊特性
6.18.1 不可變性給元組帶來了什么影響
6.18.2 元組也不是那么“不可變”
6.18.3 默認集合型別
6.18.4 單元素元組
6.18.5 字典的關鍵字
6.19 相關模塊
6.20 拷貝Python物件、淺拷貝和深拷貝
6.21 序列型別小結
6.22 練習
第7章 映像和集合型別
7.1 映射型別:字典
7.1.1 如何創建字典和給字典賦值
7.1.2 如何訪問字典中的值
7.1.3 如何更新字典
7.1.4 如何洗掉字典元素和字典
7.2 映射型別運算子
7.2.1 標準型別運算子
7.2.2 映射型別運算子
7.3 映射型別的內建函式和工廠函式
7.3.1 標準型別函式[type()、str()和cmp()]
7.3.2 映射型別相關的函式
7.4 映射型別內建方法
7.5 字典的鍵
7.5.1 不允許一個鍵對應多個值
7.5.2 鍵必須是可哈希的
7.6 集合型別
7.6.1 如何創建集合型別和給集合賦值
7.6.2 如何訪問集合中的值
7.6.3 如何更新集合
7.6.4 如何洗掉集合中的成員和集合
7.7 集合型別運算子
7.7.1 標準型別運算子(所有的集合型別)
7.7.2 集合型別運算子(所有的集合型別)
7.7.3 集合型別運算子(僅適用于可變集合)
7.8 內建函式
7.8.1 標準型別函式
7.8.2 集合型別工廠函式
7.9 集合型別內建方法
7.9.1 方法(所有的集合方法)
7.9.2 方法(僅適用于可變集合)
7.9.3 運算子和內建方法比較
7.10 集合型別總結表
7.11 相關模塊
7.12 練習
第8章 條件和回圈
8.1 if陳述句
8.1.1 多重條件運算式
8.1.2 單一陳述句的代碼塊
8.2 else陳述句
8.3 elif(即else-if)陳述句
8.4 條件運算式(即“三元運算子”)
8.5 while陳述句
8.5.1 一般語法
8.5.2 計數回圈
8.5.3 無限回圈
8.6 for陳述句
8.6.1 一般語法
8.6.2 用于序列型別
8.6.3 用于迭代器型別
8.6.4 range()內建函式
8.6.5 xrange() 內建函式
8.6.6 與序列相關的內建函式
8.7 break陳述句
8.8 continue陳述句
8.9 pass陳述句
8.10 再談else陳述句
8.11 迭代器和iter()函式
8.11.1 什么是迭代器
8.11.2 為什么要迭代器
8.11.3 如何迭代
8.11.4 使用迭代器
8.11.5 可變物件和迭代器
8.11.6 如何創建迭代器
8.12 串列決議
8.13 生成器運算式
8.14 相關模塊
8.15 練習
第9章 檔案和輸入輸出
9.1 檔案物件
9.2 檔案內建函式(open()和file())
9.2.1 工廠函式file()
9.2.2 通用換行符支持(UNS)
9.3 檔案內建方法
9.3.1 輸入
9.3.2 輸出
9.3.3 檔案內移動
9.3.4 檔案迭代
9.3.5 其他
9.3.6 檔案方法雜項
9.4 檔案內建屬性
9.5 標準檔案
9.6 命令列引數
9.7 檔案系統
9.8 檔案執行
9.9 永久存盤模塊
9.9.1 pickle和marshal模塊
9.9.2 DBM風格的模塊
9.9.3 shelve模塊
9.10 相關模塊
9.11 練習
第10章 錯誤和例外
10.1 什么是例外
10.1.1 錯誤
10.1.2 例外
10.2 Python 中的例外
10.3 檢測和處理例外
10.3.1 try-except陳述句
10.3.2 包裝內建函式
10.3.3 帶有多個except的try陳述句
10.3.4 處理多個例外的except陳述句
10.3.5 捕獲所有例外
10.3.6 “例外引數”
10.3.7 在應用使用我們封裝的函式
10.3.8 else子句
10.3.9 finally子句
10.3.10 try-finally陳述句
10.3.11 try-except-else-finally:廚房一鍋端
10.4 背景關系管理
10.4.1 with陳述句
10.4.2 背景關系管理協議
10.5 字串作為例外
10.6 觸發例外
10.7 斷言
10.8 標準例外
10.9 創建例外
10.10 (現在)為什么用例外
10.11 到底為什么要例外
10.12 例外和sys模塊
10.13 相關模塊
10.14 練習
第11章 函式和函式式編程
11.1 什么是函式?
11.1.1 函式vs程序
11.1.2 回傳值與函式型別
11.2 呼叫函式
11.2.1 函式運算子
11.2.2 關鍵字引數
11.2.3 默認引數
11.2.4 引陣列
11.3 創建函式
11.3.1 def陳述句
11.3.2 宣告與定義比較
11.3.3 前向參考
11.3.4 函式屬性
11.3.5 內部/內嵌函式
11.3.6 函式(與方法)裝飾器
11.4 傳遞函式
11.5 Formal Arguments
11.5.1 位置引數
11.5.2 默認引數
11.6 可變長度的引數
11.6.1 非關鍵字可變長引數(元組)
11.6.2 關鍵字變數引數(字典)
11.6.3 呼叫帶有可變長引數物件函式
11.7 函式式編程
11.7.1 匿名函式與lambda
11.7.2 內建函式apply()、filter()、map()、reduce()
11.7.3 偏函式應用
11.8 變數作用域
11.8.1 全域變數與區域變數
11.8.2 globa陳述句
11.8.3 作用域的數字
11.8.4 閉包
11.8.5 作用域和lambda
11.8.6 變數作用域和名稱空間
11.9 遞回
11.10 生成器
11.10.1 簡單的生成器特性
11.10.2 加強的生成器特性
11.11 練習
第12章 模塊
12.1 什么是模塊
12.2 模塊和檔案
12.2.1 模塊名稱空間
12.2.2 搜索路徑和路徑搜索
12.3 名稱空間
12.3.1 名稱空間與變數作用域比較
12.3.2 名稱查找、確定作用域、覆寫
12.3.3 無限制的名稱空間
12.4 匯入模塊
12.4.1 import陳述句
12.4.2 from-import陳述句
12.4.3 多行匯入
12.4.4 擴展的import陳述句(as)
12.5 模塊匯入的特性
12.5.1 載入時執行模塊
12.5.2 匯入(import)和加載(load)
12.5.3 匯入到當前名稱空間的名稱
12.5.4 被匯入到匯入者作用域的名字
12.5.5 關于future
12.5.6 警告框架
12.5.7 從ZIP檔案中匯入模塊
12.5.8 “新的”匯入鉤子
12.6 模塊內建函式
12.6.1 import()
12.6.2 globals()和locals()
12.6.3 reload()
12.7 包
12.7.1 目錄結構
12.7.2 使用from-import匯入包
12.8 模塊的其他特性
12.8.1 自動載入的模塊
12.8.2 阻止屬性匯入
12.8.3 不區分大小的匯入
12.8.4 源代碼編碼
12.8.5 匯入回圈
12.8.6 模塊執行
12.9 相關模塊
12.10 練習
第13章 面向物件編程
13.1 引言
13.2 面向物件編程
13.2.1 面向物件設計與面向物件編程的關系
13.2.2 現實中的問題
13.2.3 常用術語
13.3 類
13.3.1 創建類
13.3.2 宣告與定義
13.4 類屬性
13.4.1 類的資料屬性
13.4.2 Methods
13.4.3 決定類的屬性
13.4.4 特殊的類屬性
13.5 實體
13.5.1 初始化:通過呼叫類物件來創建實體
13.5.2 init()“構造器”方法
13.5.3 new()“構造器”方法
13.5.4 del()“解構器”方法
13.6 實體屬性
13.6.1 “實體化”實體屬性(或創建一個更好的構造器)
13.6.2 查看實體屬性
13.6.3 特殊的實體屬性
13.6.4 建型別屬性
13.6.5 實體屬性vs類屬性
13.7 系結和方法呼叫
13.7.1 呼叫系結方法
13.7.2 呼叫非系結方法
13.8 靜態方法和類方法
13.8.1 staticmethod()和classmethod()內建函式
13.8.2 使用函式修飾符
13.9 組合
13.10 子類和派生
13.11 繼承
13.11.1 bases類屬性
13.11.2 通過繼承覆寫方法
13.11.3 從標準型別派生
13.11.4 多重繼承
13.12 類、實體和其他物件的內建函式
13.12.1 issubclass()
13.12.2 isinstance()
13.12.3 hasattr()、getattr()、setattr()、delattr()
13.12.4 dir()
13.12.5 super()
13.12.6 vars()
13.13 用特殊方法定制類
13.13.1 簡單定制(RoundFloat2)
13.13.2 數值定制(Time60)
13.13.3 迭代器(RandSeq和AnyIter)
13.13.4 多型別定制(NumStr)
13.14 私有化
13.15 授權
13.15.1 包裝
13.15.2 實作授權
13.16 新式類的高級特性(Python 2.2+)
13.16.1 新式類的通用特性
13.16.2 slots類屬性
13.16.3 getattribute()特殊方法
13.16.4 描述符
13.16.5 元類和metaclass
13.17 相關模塊和檔案
13.18 練習
第14章 執行環境
14.1 可呼叫物件
14.1.1 函式
14.1.2 方法
14.1.3 類
14.1.4 類的實體
14.2 代碼物件
14.3 可執行的物件宣告和內建函式
14.3.1 callable()
14.3.2 compile()
14.3.3 eval()
14.3.4 exec
14.3.5 input()
14.3.6 使用Python在運行時生成和執行Python代碼
14.4 執行其他(Python)程式
14.4.1 匯入
14.4.2 execfile()
14.4.3 將模塊作為腳本執行
14.5 執行其他(非Python)程式
14.5.1 os.system()
14.5.2 os.popen()
14.5.3 os.fork()、os.exec()、os.wait()
14.5.4 os.spawn()
14.5.5 subprocess 模塊
14.5.6 相關函式
14.6 受限執行
14.7 結束執行
14.7.1 sys.exit() and SystemExit
14.7.2 sys.exitfunc()
14.7.3 os._exit() 函式
14.7.4 os.kill() Function
14.8 各種作業系統介面
14.9 相關模塊
14.10 練習
第2部分 高級主題
第15章 正則運算式
15.1 引言/動機
15.2 正則運算式使用的特殊符號和字符
15.2.1 用管道符號(|)匹配多個正則運算式模式
15.2.2 匹配任意一個單個的字符(.)
15.2.3 從字串的開頭或結尾或單詞邊界開始匹配(^/$ /\b /\B )
15.2.4 創建字符類([])
15.2.5 指定范圍(-)和否定(^)
15.2.6 使用閉包運算子(,+,?,{})實作多次出現/重復匹配
15.2.7 特殊字符表示、字符集
15.2.8 用圓括號(())組建組
15.3 正則運算式和Python語言
15.3.1 re模塊:核心函式和方法
15.3.2 使用compile()編譯正則運算式
15.3.3 匹配物件和group()、groups()方法
15.3.4 用match()匹配字串
15.3.5 search()在一個字串中查找一個模式(搜索與匹配的比較)
15.3.6 匹配多個字串(|)
15.3.7 匹配任意單個字符(.)
15.3.8 創建字符集合([])
15.3.9 重復、特殊字符和子組
15.3.10 從字串的開頭或結尾匹配及在單詞邊界上的匹配
15.3.11 用findall()找到每個出現的匹配部分
15.3.12 用sub()(和subn())進行搜索和替換
15.3.13 用split()分割(分隔模式)
15.4 正則運算式示例
15.4.1 匹配一個字串
15.4.2 搜索與匹配的比較,“貪婪”匹配
15.5 練習
第16章 網路編程
16.1 引言
16.1.1 什么是客戶端/服務器架構
16.1.2 客戶端/服務器網路編程
16.2 套接字:通信端點
16.2.1 什么是套接字
16.2.2 套接字地址:主機與埠
16.2.3 面向連接與無連接
16.3 Python中的網路編程
16.3.1 socket()模塊函式
16.3.2 套接字物件(內建)方法
16.3.3 創建一個TCP服務器
16.3.4 創建TCP客戶端
16.3.5 運行我們的客戶端與TCP服務器
16.3.6 創建一個UDP服務器
16.3.7 創建一個UDP客戶端
16.3.8 執行UDP服務器和客戶端
16.3.9 Socket模塊屬性
16.4 *SocketServer模塊
16.4.1 創建一個SocketServerTCP服務器
16.4.2 創建SocketServerTCP客戶端
16.4.3 執行TCP服務器和客戶端
16.5 Twisted框架介紹
16.5.1 創建一個Twisted Reactor TCP服務器
16.5.2 創建一個Twisted Reactor TCP客戶端
16.5.3 執行TCP服務器和客戶端
16.6 相關模塊
16.7 練習
第17章 網路客戶端編程
17.1 什么是因特網客戶端
17.2 檔案傳輸
17.2.1 檔案傳輸網際協議
17.2.2 檔案傳輸協議(FTP)
17.2.3 Python和FTP
17.2.4 ftplib.FTP類方法
17.2.5 互動式FTP示例
17.2.6 客戶端FTP程式舉例
17.2.7 FTP的其他方面
17.3 網路新聞
17.3.1 Usenet與新聞組
17.3.2 網路新聞傳輸協議(NNTP)
17.3.3 Python和NNTP
17.3.4 nntplib.NNTP類方法
17.3.5 互動式NNTP舉例
17.3.6 客戶端程式NNTP舉例
17.3.7 NNTP的其他方面
17.4 電子郵件
17.4.1 電子郵件系統組件和協議
17.4.2 發送電子郵件
17.4.3 Python和SMTP
17.4.4 smtplib.SMTP類方法
17.4.5 互動式SMTP示例
17.4.6 SMTP的其他方面
17.4.7 接收電子郵件
17.4.8 POP和IMAP
17.4.9 Python和POP3
17.4.10 互動式POP3舉例
17.4.11 poplib.POP3類方法
17.4.12 客戶端程式SMTP和POP3舉例
17.5 相關模塊
17.5.1 電子郵件
17.5.2 其他網路協議
17.6 練習
第18章 多執行緒編程
18.1 引言/動機
18.2 執行緒和行程
18.2.1 什么是行程
18.2.2 什么是執行緒
18.3 Python、執行緒和全域解釋器鎖
18.3.1 全域解釋器鎖(GIL)
18.3.2 退出執行緒
18.3.3 在Python中使用執行緒
18.3.4 沒有執行緒支持的情況
18.3.5 Python的threading模塊
18.4 thread模塊
18.5 threading模塊
18.5.1 Thread類
18.5.2 斐波那契、階乘和累加和
18.5.3 threading模塊中的其他函式
18.5.4 生產者-消費者問題和Queue模塊
18.6 相關模塊
18.7 練習
第19章 圖形用戶界面編程
19.1 簡介
19.1.1 什么是Tcl、Tk和Tkinter
19.1.2 安裝和使用Tkinter 533
19.1.3 客戶端/服務器架構 534
19.2 Tkinter與Python編程 534
19.2.1 Tkinter模塊:把Tk引入你的程式
19.2.2 GUI程式開發簡介
19.2.3 頂層視窗:Tkinter.Tk()
19.2.4 Tk組件
19.3 Tkinter舉例
19.3.1 標簽組件
19.3.2 按鈕組件
19.3.3 標簽和按鈕組件
19.3.4 標簽、按鈕和進度條組件
19.3.5 偏函式應用舉例
19.3.6 中級Tkinter范例
19.4 其他GUI簡介
19.4.1 Tk Interface eXtensions (Tix)
19.4.2 Python MegaWidgets (PMW)
19.4.3 wxWidgets和wxPython
19.4.4 GTK+和PyGTK
19.5 相關模塊和其他GUI
19.6 練習
第20章 Web編程
20.1 介紹
20.1.1 Web應用:客戶端/服務器計算
20.1.2 因特網
20.2 使用Python進行Web應用:創建一個簡單的Web客戶端
20.2.1 統一資源定位符
20.2.2 urlparse模塊
20.2.3 urllib模塊
20.2.4 urllib2模塊
20.3 高級Web客戶端
20.4 CGI:幫助Web服務器處理客戶端資料
20.4.1 CGI介紹
20.4.2 CGI應用程式
20.4.3 cgi模塊
20.5 建立CGI應用程式
20.5.1 建立Web服務器
20.5.2 建立表單頁
20.5.3 生成結果頁
20.5.4 生成表單和結果頁面
20.5.5 全面互動的Web站點
20.6 在CGI中使用Unicode編碼
20.7 高級CGI
20.7.1 Mulitipart表單提交和檔案的上傳
20.7.2 多值欄位
20.7.3 cookie
20.7.4 使用高級CGI
20.8 Web(HTTP)服務器
20.9 相關模塊
20.10 練習
第21章 資料庫編程
21.1 介紹
21.1.1 持久存盤
21.1.2 基本的資料庫操作和SQL語言
21.1.3 資料庫和Python
21.2 Python資料庫應用程式程式員介面(DB-API)
21.2.1 模塊屬性
21.2.2 連接物件
21.2.3 游標物件
21.2.4 型別物件和構造器
21.2.5 關系資料庫
21.2.6 資料庫和Python:介面程式
21.2.7 使用資料庫介面程式舉例
21.3 物件-關系管理器(ORM)
21.3.1 考慮物件,而不是SQL
21.3.2 Python和ORM
21.3.3 雇員資料庫舉例
21.3.4 總結
21.4 相關模塊
21.5 練習
第22章 擴展Python 623
22.1 引言/動機
22.1.1 什么是擴展
22.1.2 為什么要擴展Python
22.2 創建Python擴展
22.2.1 創建您的應用程式代碼
22.2.2 用樣板來包裝你的代碼
22.2.3 編譯
22.2.4 匯入和測驗
22.2.5 參考計數
22.2.6 執行緒和全域解釋器鎖(GIL)
22.3 相關話題
22.4 練習
第23章 其他話題
23.1 Web服務
23.2 用Win32的COM來操作微軟Office
23.2.1 客戶端COM編程
23.2.2 微軟Excel
23.2.3 微軟Word 第1部分 Python核心
23.2.4 微軟PowerPoint
23.2.5 微軟Outlook
23.2.6 中等規模的例子
23.3 用Jython寫Python和Java的程式
23.3.1 什么是Jython
23.3.2 Swing GUI開發(Java或者Python!)
23.4 練習
23.2.4 微軟PowerPoint
23.2.5 微軟Outlook
23.2.6 中等規模的例子
23.3 用Jython寫Python和Java的程式
23.3.1 什么是Jython
23.3.2 Swing GUI開發(Java或者Python!)
23.4 練習
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/39728.html
標籤:Python
上一篇:面向物件--類方法和靜態方法
下一篇:面向物件--設計模式:單列模式
