涵蓋近期發布的Pyttlon版本的核心功能特性,而不僅僅是語法
學習更多的高階內容,如正則錶達式、網絡、多綫程、圖形用戶界麵、Web/CGl和Python擴展等
包括幾個全新的章節,關於數據庫、網絡客戶端、Java/Jytt30n和Microsoft Office等
展示數以百計的代碼片段、交互實例和大量加強您的Python技能的實用練習
“對Wesley Chun《Python核心編程》第二版的漫長等待是值得的——它的深邃、它的全麵,以及它實用的練習將會幫助讀者學會並掌握傑齣的Pythorl技能。”
——Alex Martelli,Python om a Nutshell一書作者和Python Cookbook一書編輯
“終於,一本傑齣的融教材和參考書於一身的Python書籍誕生瞭。”
——Michael Baxter,Linux Journal
學習專業的Python風格、實踐和好的編程習慣;
加強對Python對象、內存模型和Python麵嚮對象特性的深入理解;
構建更有效的Web、CGI、互聯網、網絡和其他客戶端/服務器架構應用程序及軟件;
學習如何使用Python中的Tkinler和其他工具來開發自己的GUI應用程序及軟件:
通過用C等語言編寫擴展來提升Python應用程序的性能,或者通過使用多綫程增強I/O相關的應用程序的能力;
學習Python中有關數據庫的API,以及如何在Python中使用各種不同的數據庫係統,包括MySQL、Postgres和SQLite。
本書提供:
對Python核心特性係統的專傢級講解;
開發復雜的應用程序和軟件所需的強大深入的視角:
易用的圖錶,詳細描述瞭Python模塊、操作符、函數和方法:
大量的專業級實例代碼,從小的代碼片段到功能齊全的應用程序一應俱全。
第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 )
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
19.1.3 客戶端/服務器架構
19.2 Tkinter與Python編程
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
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
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 練習
第1部分 Python核心
第1章 歡迎來到Python世界
開篇將介紹一些Python的背景知識,包括什麼是Python、Python的起源和它的一些關鍵特性。一旦你來瞭興緻,我們就會嚮你介紹怎樣獲得Python,以及如何在你的係統上安裝並運行它。本章最後的練習將會幫助你非常自如地使用Python,包括使用交互式解釋器,以及創建並運行腳本程序。
1.1 什麼是Python
Python是一門優雅而健壯的編程語言,它繼承瞭傳統編譯語言的強大性和通用性,同時也藉鑒瞭簡單腳本和解釋語言的易用性。它可以幫你完成工作,而且一段時問以後,你還能看明白自己寫的這段代碼。你會對自己如此快地學會它和它強大的功能感到十分的驚訝,更不用提你已經完成的工作瞭!隻有你想不到,沒有Python做不到。
1.2 起源
Guido van Rossum於1989年底始創瞭Python,那時,他還在荷蘭的CWI(Centrum voor Wiskunde en Informatica,國傢數學和計算機科學研究院)。1991年初,Python發布瞭第一個公開發行版。這一切究竟是如何開始的呢?像C、C++、Lisp、.Java和Perl一樣,Python來自於某個研究項目,項目中的那些程序員利用手邊現有的工具辛苦地工作著,他們設想並開發齣瞭更好的解決辦法。
那時van Rossum是一位研究人員,對解釋型語言ABC有著豐富的設計‘經驗,這個語言同樣也是在CWI開發的。但是他不滿足其有限的開發能力。已經使用並參與開發瞭像ABC這樣的高級語言後,再退迴到C語言顯然是不可能的。他所期望的工具有一些是用於完成日常係統管理任務的,而且它還希望能夠訪問Amoeba分布式操作係統的係統調用。盡管vanRossum也曾想過為Amoeba開發專用語言,但足創造一種通用的程序設計語言顯然更加明智,於是在1989年末,Python的種子被播下瞭。
1.3 特點
盡管Python已經流行瞭超過15年,但是一些人仍舊認為相對於通用軟件開發産業而言,它還是個新丁。我們應當謹慎地使用“相對”這個詞,因為“網絡時代”的程序開發,幾年看上去就像幾十年。
當人們詢問:“什麼是Python?”的時候,很難用任何一個具象來描述它。人們更傾嚮於一口氣不加思索地說齣他們對Python的所有感覺,Python是一(請填寫),這些特點究竟又是什麼呢?為瞭讓你能知其所以然,我們下麵會對這些特點進行逐一地闡釋。
1.3.1 高級
伴隨著每一代編程語言的産生,我們會達到一個新的高度。匯編語言是獻給那些掙紮在機器代碼中的人的禮物,後來有瞭FORTRAN、c和Pascal語言,它們將計算提升到瞭嶄新的高度,並且開創瞭軟件開發行業。伴隨著C語言誕生瞭更多的像c鬥_蔔、Java這樣的現代編譯語言。我們沒有止步於此,於是有瞭強大的、可以進行係統調用的解釋型腳本語言,例如Tcl、Perl和Python。
這些語言都有高級的數據結構,這樣就減少瞭以前“框架”開發需要的時間。像Python中的列錶(大小可變的數組)和字典(哈希錶)就是內建於語言本身的。在核心語言中提供這些重要的構建單元,可以鼓勵人們使用它們,縮短開發時間與代碼量,産生齣可讀性更好的代碼。
在C語言中,對於混雜數組(Python中的列錶)和哈希錶(Python中的字典)還沒有相應的標準庫,所以它們經常被重復實現,並被復製到每個新項目中去。這個過程混亂而且容易産生錯誤。
……
Python核心编程(第2版)
评分不错的书。还没怎么开始看。
评分满两百减一百地时候买的,买的时候就知道比当当贵二十多,还是买了,以为京东就这价,今天货到付款完,点开京东一看变六十多了,感觉被欺诈了,以后买书还是上当当吧,京东的满减价可能比当当原价还贵
评分很不满意!!!!京东利民华明提货点态度太差!!!还要加收*钱!!
评分还没来得及看
评分帮同事买的,买了一本和我的一模一样。
评分这本书对我来说就好像工具书一样,不懂时候拿来查阅一些概念。而且大部分内容应该是针对2,对于我这样的新手来说,足够而又不友好,因为有些内容没说的太清楚。
评分贵了
评分满两百减一百地时候买的,买的时候就知道比当当贵二十多,还是买了,以为京东就这价,今天货到付款完,点开京东一看变六十多了,感觉被欺诈了,以后买书还是上当当吧,京东的满减价可能比当当原价还贵
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有