Python核心編程(第2版) [Core PYTHON Programming]

Python核心編程(第2版) [Core PYTHON Programming] pdf epub mobi txt 電子書 下載 2025

[美] 丘恩(Chun W.J.) 著,宋吉廣 譯
圖書標籤:
  • Python
  • 編程
  • 核心
  • 第二版
  • CorePython
  • 計算機
  • 技術
  • 書籍
  • 開發
  • 教程
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115178503
版次:1
商品編碼:10062788
品牌:異步圖書
包裝:平裝
外文名稱:Core PYTHON Programming
開本:16開
齣版時間:2008-07-01
用紙:膠版紙
頁數:654
字數:1317000
正文語種:中文

具體描述

産品特色

編輯推薦

  初學Python這是一本有關Python開發的指南
  

  涵蓋近期發布的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模塊、操作符、函數和方法:
  大量的專業級實例代碼,從小的代碼片段到功能齊全的應用程序一應俱全。
  
  

內容簡介

  《Python核心編程(第2版)》是經典的Python指導書,在上一版的基礎上進行瞭全麵升級。全書分為兩個部分:第1部分占據瞭大約三分之二的篇幅,闡釋這門語言的“核心”內容,包括基本的概念和語句、語法和風格、Python對象、數字類型、序列類型、映射和集閤類型、條件和循環、文件和輸入/輸齣、錯誤和異常、函數和函數式編程、模塊、麵嚮對象編程、執行環境等內容:第2部分則提供瞭各種高級主題來展示可以使用Python做些什麼,包括正則錶達式、網絡編程、網絡客戶端編程、多綫程編程、圖形用戶界麵編程、Web編程、數據庫編程、擴展Python和一些其他材料。《Python核心編程(第2版)》適閤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:洞悉萬象,掌控未來 在快速演進的數字浪潮中,擁有一門強大的編程語言,如同擁有駕馭技術、洞察數據、創新未來的利器。Python,以其優雅的語法、豐富的庫和廣泛的應用領域,已成為全球開發者、數據科學傢、人工智能研究者以及無數技術愛好者的首選。本書,旨在為讀者揭示Python的深層魅力,帶領大傢從入門到精通,掌握這門語言的核心理念與實戰技巧,從而在各自的領域中遊刃有餘,甚至開闢全新的可能。 為何選擇Python? Python的普及並非偶然。其設計哲學強調代碼的可讀性和簡潔性,使得開發者能夠用更少的代碼實現更多的功能。這不僅降低瞭學習門檻,也提高瞭開發效率,讓更多人能夠專注於解決實際問題,而非被復雜的語法所睏擾。從Web開發、自動化腳本、數據分析,到機器學習、人工智能、科學計算,Python的身影無處不在。它擁有一個龐大而活躍的社區,源源不斷地貢獻著高質量的第三方庫和工具,為任何編程需求提供瞭堅實的支持。學習Python,就是開啓瞭一扇通往無限技術可能的大門。 本書定位與目標讀者 本書並非簡單地羅列Python的語法規則,而是深入探究其核心設計思想和工作機製。我們旨在幫助讀者建立起對Python語言的深刻理解,使其不僅能“會寫”Python代碼,更能“寫好”Python代碼。 初學者: 對於從未接觸過編程,或者對其他語言感到迷茫的讀者,本書將提供一個循序漸進的學習路徑。從基礎數據類型、控製流,到函數、模塊,再到麵嚮對象編程,我們將以清晰易懂的方式講解每一個概念,並輔以大量貼近實際的示例,幫助您快速建立編程思維。 有一定編程基礎的開發者: 如果您已經掌握瞭一門或多門其他編程語言,並希望快速高效地學習Python,本書將幫助您理解Python的獨特性,例如其動態類型、垃圾迴收機製、生成器、裝飾器等,並引導您掌握Pythonic的編程風格,編寫齣更具可讀性和效率的代碼。 希望深入理解Python工作原理的讀者: 對於那些不滿足於錶麵操作,渴望瞭解Python底層實現、內存管理、對象模型等深層機製的讀者,本書也將提供深入的剖析,讓您對Python有更全麵的認知。 期望應用Python解決實際問題的專業人士: 無論是需要自動化重復性任務的IT從業者,還是需要進行復雜數據分析的科學傢,亦或是熱衷於探索人工智能的工程師,本書都將為您提供必要的知識儲備和實踐指導,讓您能將Python的力量應用於您的工作中。 本書內容概覽:從基礎到精通 本書將圍繞Python的核心概念,展開詳盡的講解: 第一部分:Python語言基礎與核心概念 1. Python初探: Python的安裝與環境配置:讓您輕鬆搭建屬於自己的Python開發環境。 第一個Python程序:理解代碼的執行流程,感受編程的樂趣。 Python的哲學與風格:深入理解Python的設計理念,掌握編寫“Pythonic”代碼的藝術。 變量、數據類型與運算符:認識Python中最基礎的構建塊,理解數字、字符串、布爾值等。 內置函數與標準庫:探索Python自帶的強大工具,高效地完成常見任務。 2. 控製流程與數據結構: 條件語句(if, elif, else):學習如何根據不同情況做齣決策,編寫具有邏輯的代碼。 循環語句(for, while):掌握重復執行代碼的方法,實現自動化和迭代。 列錶(List):學習如何存儲和操作有序的數據集閤,Python中最常用的數據結構之一。 元組(Tuple):理解不可變序列的特性,以及其在某些場景下的優勢。 字典(Dictionary):掌握鍵值對存儲方式,高效地查找和管理數據。 集閤(Set):瞭解無序且不重復元素的集閤,以及其在數學運算和去重方麵的應用。 3. 函數:代碼的復用與組織: 函數的定義與調用:學習如何創建可重用的代碼塊,提高開發效率。 參數傳遞:理解位置參數、關鍵字參數、默認參數和可變參數,靈活地傳遞信息。 返迴值:掌握函數如何返迴結果,以及多返迴值的使用。 作用域與命名空間:深入理解變量的可訪問性,避免命名衝突。 遞歸:探索一種強大的問題解決技巧,通過函數自調用解決復雜問題。 4. 模塊與包:代碼的組織與分享: 模塊的創建與導入:學習如何將代碼組織成獨立的模塊,提高代碼的可維護性。 包的使用:掌握如何組織和管理多個模塊,構建大型項目。 標準庫的探索:深入瞭解Python豐富的標準庫,例如os, sys, math, datetime等,並學會如何利用它們。 第二部分:麵嚮對象編程與進階特性 5. 麵嚮對象編程(OOP)基礎: 類與對象:理解麵嚮對象的概念,掌握如何創建類和實例化對象。 屬性與方法:學習如何定義類的成員,以及如何操作對象。 封裝:理解將數據和行為綁定在一起的重要性,提高代碼的穩定性和安全性。 繼承:學習如何創建類之間的層次結構,實現代碼的復用和擴展。 多態:掌握如何通過統一的接口處理不同類型的對象,提高代碼的靈活性。 6. Python的對象模型: 特殊方法(Magic Methods/Dunder Methods):深入理解Python的對象協議,例如`__init__`, `__str__`, `__len__`等,讓您的對象行為更加符閤Python的習慣。 屬性訪問控製:學習如何通過getter和setter方法,或者property裝飾器,精細地控製對象的屬性訪問。 類變量與實例變量:區分不同作用域的變量,理解它們在對象生命周期中的區彆。 類方法與靜態方法:掌握不同類型的方法,理解它們在類設計中的作用。 7. 異常處理與錯誤管理: try-except-finally:學習如何優雅地處理程序運行時可能發生的錯誤,防止程序崩潰。 自定義異常:掌握如何創建自己的異常類型,使錯誤處理更具針對性。 異常傳播:理解異常如何在函數調用棧中傳遞,以及如何捕獲和處理。 8. 文件I/O操作: 文件讀寫:學習如何打開、讀取、寫入和關閉文件,處理各種類型的數據。 文本文件與二進製文件:區分不同類型的文件,掌握相應的讀寫模式。 with語句:學習使用上下文管理器,確保文件被正確關閉。 9. 迭代器與生成器: 迭代器協議:深入理解Python的迭代機製,掌握如何創建自己的迭代器。 生成器函數與錶達式:學習如何使用yield關鍵字,以更高效的方式創建迭代器,尤其適閤處理大型數據集。 生成器錶達式的惰性求值:理解生成器在內存使用上的優勢。 10. 裝飾器: 裝飾器的原理:深入理解函數作為一等公民的特性,掌握如何使用裝飾器為函數添加額外功能。 應用場景:學習使用裝飾器進行日誌記錄、訪問控製、性能測量等。 第三部分:Python進階應用與實戰 11. 正則錶達式:強大的文本匹配工具: 正則錶達式基礎語法:學習各種元字符、量詞、分組,掌握精確的文本匹配。 Python的re模塊:學會如何在Python中使用正則錶達式進行搜索、替換、分割等操作。 12. 並發與並行: 綫程(Threading):理解綫程在並發執行中的作用,以及GIL(全局解釋器鎖)的限製。 進程(Multiprocessing):學習如何利用多進程繞過GIL,實現真正的並行計算。 異步編程(Asyncio):探索Python的異步I/O模型,實現高效的網絡I/O操作。 13. 網絡編程基礎: Socket編程:理解網絡通信的基本原理,學習如何使用Python進行TCP/UDP通信。 HTTP協議:瞭解HTTP的基本請求和響應,為Web開發打下基礎。 14. 數據庫交互: SQLite:學習如何使用Python內置的sqlite3模塊,進行輕量級數據庫操作。 SQLAlchemy(可選):為需要與更強大的數據庫(如MySQL, PostgreSQL)交互的讀者提供初步的指導。 15. 測試與調試: 單元測試(unittest/pytest):學習如何編寫測試用例,確保代碼的正確性和穩定性。 調試技巧:掌握Python的調試器,高效地定位和解決代碼中的bug。 學習路徑與實踐建議 本書的設計旨在提供一個完整且深入的學習體驗。我們建議您: 動手實踐: 閱讀理論知識的同時,務必動手敲代碼、運行示例,並嘗試修改它們。編程是一門實踐的藝術,隻有通過不斷的練習,纔能真正掌握。 理解原理: 對於每一個概念,盡量去理解其背後的原理,而不僅僅是記住語法。這有助於您在遇到新問題時,能夠靈活地運用所學知識。 解決問題: 嘗試用Python解決您日常生活或工作中遇到的實際問題,哪怕是很小的任務,也能極大地提升您的學習動力和成就感。 查閱文檔: 養成查閱Python官方文檔和其他權威資源的習慣。官方文檔是學習Python最可靠的來源。 參與社區: 加入Python相關的在綫社區,與其他學習者和開發者交流,分享經驗,解決問題。 結語 Python的魅力遠不止於此。本書將為您打開通往Python世界的大門,但真正的探索纔剛剛開始。掌握瞭Python的核心,您將能夠自信地駕馭各種技術挑戰,用代碼創造無限可能。願本書成為您在Python學習道路上的得力助手,助您洞悉萬象,掌控未來。

用戶評價

評分

說實話,我購買《Python核心編程(第2版)》這本書,很大程度上是抱著一種“死馬當活馬醫”的心態。我是一名有一定Python基礎的開發者,但總感覺自己在某些方麵不夠紮實,特彆是在理解Python的底層機製和一些高級用法時,總是雲裏霧裏。這本書的齣現,就像一盞明燈,照亮瞭我前行的道路。我特彆欣賞作者在處理復雜話題時所展現齣的清晰思路和詳實講解。比如,在講解生成器和迭代器的時候,我之前一直對它們的使用場景和內部原理感到模糊,而這本書通過大量生動的例子和細緻的解釋,讓我徹底理解瞭它們是如何工作的,以及如何利用它們來優化代碼性能和簡化程序邏輯。更讓我驚喜的是,書中還涉及瞭一些Python的內部實現細節,這對於我這樣想要深入理解Python的人來說,簡直是太寶貴瞭。我感覺自己不僅僅是在學習Python的語法,更是在學習Python的“思維方式”,這對於我今後的編程生涯有著深遠的影響。

評分

剛拿到這本《Python核心編程(第2版)》的時候,說實話,我有點猶豫。畢竟市麵上Python的書籍琳琅滿目,從入門到精通的都有,再多一本似乎也掀不起什麼大浪。但是,我還是被書名裏的“核心”二字吸引瞭,我總覺得,一本真正優秀的書,應該能把我從“會用”提升到“精通”,能夠讓我真正理解Python的設計哲學,而不是僅僅停留在語法層麵。讀瞭幾天之後,我的感覺就像是挖到寶藏一樣。這本書不僅僅是在羅列Python的各種特性,它更像是在為我構建一個堅實的Python知識體係。作者在講解每一個概念的時候,都非常注重邏輯的嚴謹性和知識的連貫性,讓我能夠循序漸進地理解Python的方方麵麵。特彆是關於麵嚮對象編程的部分,作者的講解非常深入淺齣,讓我一下子就明白瞭類、對象、繼承、多態這些概念在Python中是如何優雅實現的。我之前看過的很多書,對這部分都隻是點到為止,而這本書則給瞭我醍醐灌頂的感覺。感覺作者就像一位經驗豐富的老船長,帶領我在這浩瀚的Python海洋中穩健航行,指引我避開那些淺灘暗礁,直達知識的彼岸。

評分

我拿到《Python核心編程(第2版)》這本書已經有一段時間瞭,這段時間裏,我幾乎是愛不釋手。作為一個對編程充滿好奇心的學生,我一直渴望找到一本能夠真正讓我“玩轉”Python的書。這本書完全滿足瞭我的期待。它沒有那些枯燥乏味的理論堆砌,而是通過大量貼近實際應用的例子,讓我一步步感受到Python的強大和靈活。我尤其喜歡書中關於數據結構和算法的講解,作者用非常易於理解的方式,將抽象的概念具象化,讓我能夠輕鬆掌握各種數據結構的優缺點以及適用場景。而且,這本書的排版也很舒服,代碼示例清晰易讀,讓我能夠很快地將書中的知識應用到我的學習和實踐中。我現在覺得,我不再僅僅是輸入代碼,而是真正理解瞭代碼背後的邏輯,這讓我對編程的信心大大提升。

評分

我之所以會選擇《Python核心編程(第2版)》,是因為我之前接觸過一些Python的書籍,但總感覺它們要麼過於基礎,要麼過於晦澀。我希望找到一本能夠在我現有基礎上,帶我進一步深入的。這本書恰好填補瞭我的需求。我最看重的是它對Python生態係統的全麵覆蓋,從基礎的語法特性,到文件 I/O、網絡編程、數據庫交互,再到更高級的並發和多綫程,這本書幾乎麵麵俱到。作者的講解風格非常務實,他不會迴避那些復雜的細節,而是用清晰的語言和恰當的例子,幫助讀者理解。我尤其喜歡書中對錯誤處理和調試技巧的講解,這對於日常開發來說簡直是福音。通過這本書,我學會瞭如何更有效地定位和解決問題,這無疑大大提升瞭我的開發效率。

評分

拿到《Python核心編程(第2版)》這本書,我首先被它厚實的體量所吸引,這預示著它內容的豐富程度。然而,我真正開始閱讀後,纔發現其價值遠超我最初的想象。這本書對於Python的每一個重要概念都進行瞭深入的剖析,並且提供瞭大量的代碼示例來佐證。我之前在學習某個特定模塊時,常常會遇到很多似懂非懂的地方,而這本書就像一本百科全書,能夠為我提供詳盡的解釋和背景知識。我特彆佩服作者在組織內容上的條理性和邏輯性,讓我能夠清晰地把握Python的知識脈絡。例如,在講解裝飾器時,作者循序漸進地展示瞭它的演變過程,從簡單的函數嵌套到真正的裝飾器語法,整個過程都顯得非常自然和易於理解。我感覺這本書不僅僅是教我如何使用Python,更是讓我理解Python的“哲學”。

評分

還沒看完呢 隻是還比較基礎 適閤沒基礎的同學學習

評分

。。。。。。。。。。。。

評分

京東自營,值得信賴,物流超快,質量很好,非常滿意,推薦購買!

評分

京東自營,值得信賴,物流超快,質量很好,非常滿意,推薦購買!

評分

這書版本是3.0之前的 不太好 不建議買

評分

書是好書,國外經典,但是翻譯的簡直一團糟,水平真次,不信的童鞋買來之後讀讀就明白瞭

評分

跟上時代步伐……

評分

很好

評分

太棒瞭,推薦朋友們購買

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有