天天看點

《Python核心程式設計(第3版)》——導讀

《Python核心程式設計(第3版)》——導讀

歡迎各位讀者打開本書

很高興各位讀者能夠允許我們來幫助你們盡可能快、盡可能深入地學習python。core python系列圖書的目标不隻是教會開發人員python語言,我們還希望各位讀者能夠形成足夠的知識庫,進而能夠開發任何應用領域的軟體。

在其他的core python系列圖書(core python programming和core python language fundamentals)中,我們不僅向讀者講授python語言的文法,還希望讀者能夠深入掌握python的運作機制。我們相信,在具備了這些知識之後,無論你是python語言的初學者還是資深程式員,都能夠開發出更為高效的python應用程式。

在學完任何其他入門類的python圖書之後,你可能覺得已經掌握了python而且還覺得學得不錯,并為此感到自豪。通過完成大量練習之後,你将會對自己新掌握的python程式設計技能擁有更多信心。但是,你可能仍然會有這樣的疑問,“現在該怎麼辦?我能用python編寫哪種類型的應用程式呢?”或許你是為了一個相當小衆的工作項目而學習使用python,你可能會考慮“我還能用python寫點其他的嗎?”

關于本書

在本書中,你将會用到從其他地方學習到的所有python知識,并培養新的技能,進而建構自己的工具箱。借助于該工具箱,你能夠使用python開發各種類型的應用程式。關于進階主題的章節旨在快速概述各種不同的主題。如果你開始轉向這些章節中涵蓋的特定應用開發領域,你将會發現它們不僅給出了正确的方向,還包含了更多的資訊。但是不要期待有一個深入的解決方案,因為這有悖于本書的初衷—提供更為廣泛的解決方案。

與其他所有core python圖書一樣,本書同樣包含了許多示例,你可以在計算機上進行嘗試。為了牢固掌握概念,你也會在每章最後發現有趣、有挑戰性的練習。這些初級和中級難度的練習旨在測試你的知識掌握情況,提升你的python技能。畢竟,沒有什麼可以替代實踐經驗。我們相信,你不僅能夠學到很多python程式設計技能,同時還能在盡可能短的時間内迅速掌握它們。

對我們來講,擴充python技能的最佳方式就是動手練習,是以你會發現這些練習是本書的一個最大優勢。它們可以測試你對每章主題和定義的掌握情況,并激勵你盡可能多地動手程式設計。除了自己編寫應用程式之外,沒有其他方法可以更有效地提升你的程式設計技能。你需要解決初級、中級和進階難度的程式設計問題。而且你應該需要編寫一個大型的應用程式(這也是很多讀者想要在本書中看到的),而不是采用一些腳本來實作。坦白說,你可能做得沒有那麼好,但是通過親自動手實踐,你的收獲會更大。附錄a給出了每章中某些練習的答案。附錄b包含了一些有用的參考表。

感謝所有讀者的回報和鼓勵,你們是我寫作這些圖書的動力。希望你們能繼續給我發送回報資訊,并促使本書第4版盡快問世,而且其品質優于之前所有版本。

[第1部分 通用應用主題

第1章 正規表達式

<a href="https://yq.aliyun.com/articles/92969/">1.2 特殊符号和字元</a>

1.2.1 使用擇一比對符号比對多個正規表達式模式

1.2.2 比對任意單個字元

1.2.3 從字元串起始或者結尾或者單詞邊界比對

1.2.4 建立字元集

1.2.5 限定範圍和否定

1.2.6 使用閉包操作符實作存在性和頻數比對

1.2.7 表示字元集的特殊字元

1.2.8 使用圓括号指定分組

1.2.9 擴充表示法

<a href="https://yq.aliyun.com/articles/93010/">1.3 正規表達式和python語言</a>

1.3.1 re子產品:核心函數和方法

1.3.2 使用compile()函數編譯正規表達式

1.3.3 比對對象以及group()和groups()方法

1.3.4 使用match()方法比對字元串

1.3.5 使用search()在一個字元串中查找模式(搜尋與比對的對比)

1.3.6 比對多個字元串

1.3.7 比對任何單個字元

1.3.8 建立字元集([ ])

1.3.9 重複、特殊字元以及分組

1.3.10 比對字元串的起始和結尾以及單詞邊界

1.3.11 使用findall()和finditer()查找每一次出現的位置

1.3.12 使用sub()和subn()搜尋與替換

1.3.13 在限定模式上使用split()分隔字元串

1.3.14 擴充符号

1.3.15 雜項

<a href="https://yq.aliyun.com/articles/93020/">1.4 一些正規表達式示例</a>

<a href="https://yq.aliyun.com/articles/93031/">1.5 更長的正規表達式示例</a>

1.5.1 比對字元串

1.5.2 搜尋與比對……還有貪婪

<a href="https://yq.aliyun.com/articles/93034/">1.6 練習</a>

[第2章 網絡程式設計

<a href="https://yq.aliyun.com/articles/93047/">2.2 用戶端/伺服器架構</a>

2.2.1 硬體用戶端/伺服器架構

2.2.2 軟體用戶端/伺服器架構

2.2.3 銀行出納員作為伺服器嗎

2.2.4 用戶端/伺服器網絡程式設計

<a href="https://yq.aliyun.com/articles/93054/">2.3 套接字:通信端點</a>

2.3.1 套接字

2.3.2 套接字位址:主機-端口對

2.3.3 面向連接配接的套接字與無連接配接的套接字

<a href="https://yq.aliyun.com/articles/93073/">2.4 python中的網絡程式設計</a>

2.4.1 socket()子產品函數

2.4.2 套接字對象(内置)方法

2.4.3 建立tcp伺服器

2.4.4 建立tcp用戶端

2.4.5 執行tcp伺服器和用戶端

2.4.6 建立udp伺服器

2.4.7 建立udp用戶端

2.4.8 執行udp伺服器和用戶端

2.4.9 socket子產品屬性

<a href="https://yq.aliyun.com/articles/93088/">2.5 *socketserver子產品</a>

2.5.1 建立socketserver tcp伺服器

2.5.2 建立socketserver tcp用戶端

2.5.3 執行tcp伺服器和用戶端

<a href="https://yq.aliyun.com/articles/93096/">2.6 *twisted架構介紹</a>

2.6.1 建立twisted reactor tcp伺服器

2.6.2 建立twisted reactor tcp用戶端

2.6.3 執行tcp伺服器和用戶端

<a href="https://yq.aliyun.com/articles/93098/">2.7 相關子產品</a>

<a href="https://yq.aliyun.com/articles/93103/">2.8 練習</a>

第3章 網際網路用戶端程式設計

第4章 多線程程式設計

第5章 gui程式設計

第6章 資料庫程式設計

第7章 *microsoft office程式設計

第8章 擴充python

第2部分 web開發

第9章 web用戶端和伺服器

第10章 web程式設計:cgi和wsgi

第11章 web架構:django

第12章 雲計算:google app engine

第13章 web服務

第3部分 補充/實驗章節

第14章 文本處理

第15章 其他内容

附錄a 部分練習參考答案

附錄b 參考表

附錄c python 3:一種程式設計語言進化的産物

附錄d 利用python 2.6+向python 3遷移