Python 有著非常活躍的開發(fā)者社區(qū)延曙。許多 Pythonistas 在工作之余痹仙,會給開源項目做貢獻(xiàn),在當(dāng)?shù)刈鲅葜v状答,甚至是主辦地區(qū)活動。其中站在“金字塔頂端”的人中,就包括 PyCon US 大會的主席按价。本期推文的主角就是 PyCon US 2016 的主席,Brandon Rhodes笙瑟。
Brandon 是 Dropbox 的工程師楼镐,和 Python 之父 Guido van Rossum 是同事。他熱衷于傳播 Python逮走,經(jīng)常在 Python 主題大會上演講鸠蚪。從他的個人網(wǎng)站上看,從 2008 年至 2016 年师溅,他總共做了 32 場演講茅信。他也從 2016 年開始擔(dān)任 PyCon US 的主席,下一屆也是他帶著干墓臭。
不過蘸鲸,本期不是要詳細(xì)介紹他的情況,而是讓他教你怎么用 Python 進(jìn)行網(wǎng)絡(luò)編程窿锉。
難道是請到微信群分享酌摇?還是搞視頻直播膝舅?
那樣是一次性的,而且覆蓋的人群太小窑多。更好的方法是寫書了仍稀,就是這本《Python網(wǎng)絡(luò)編程》。
Foundations of Python Network Programming
作者:Brandon Rhodes埂息,John Goerzen
譯者:諸豪文
頁數(shù):360
定價:79
EarlGrey:呵呵技潘,準(zhǔn)備送 5 本圖靈樣書給大家。簡單看了下樣書千康,翻譯的質(zhì)量還不錯享幽。
活動方式
活動時間:2016 年 12 月 5 日 — 2016 年 12 月 7 日
參與方式:
在本期微信推送下方留言,回復(fù)任意一個兩位數(shù)(如11)
轉(zhuǎn)發(fā)本期圖文
獲獎條件:
取 2016 年 12 月 8 日當(dāng)日收盤時上證指數(shù)的十位和個位數(shù)字(比如拾弃,如果是 3789 值桩,那獲獎數(shù)字就是“ 89 ”)
最接近獲獎數(shù)字的前5位同學(xué)(按留言時間),將獲得贈書一本
編程派保留此次活動的最終解釋權(quán)豪椿。
注:數(shù)字留言不會顯示在評論中奔坟。
有關(guān)本書的詳細(xì)情況,請看下面的介紹砂碉。
本書主要內(nèi)容
Python 3示例講解蛀蜜,涵蓋網(wǎng)絡(luò)編程所有經(jīng)典話題
提供大量代碼清單及示例
從應(yīng)用開發(fā)角度介紹網(wǎng)絡(luò)編程基本概念、模塊以及第三方庫
毫無疑問增蹭,這本書的重點(diǎn)在于網(wǎng)絡(luò)編程滴某,示例腳本及代碼片段使用Python 3來闡釋。目的是幫助讀者全面了解使用Python提供的工具構(gòu)建網(wǎng)絡(luò)客戶端滋迈、網(wǎng)絡(luò)服務(wù)器以及網(wǎng)絡(luò)工具的最佳實(shí)踐霎奢,最大化使用Python 3提供的功能來解決現(xiàn)代網(wǎng)絡(luò)編程的問題。
本書源碼獲取地址:
https://github.com/brandon-rhodes/fopnp
Python 3提供給網(wǎng)絡(luò)程序員的編程平臺幾乎在方方面面都有所改進(jìn)饼灿,無論是基礎(chǔ)性的(如將Unicode文本設(shè)為Python 3的默認(rèn)字符串類型)幕侠,還是特有的(如對SSL的正確支持、內(nèi)置的用于異步編程的asyncio框架碍彭,以及對標(biāo)準(zhǔn)庫中大大小小的模塊的細(xì)微調(diào)整)晤硕。這是一個顯著的進(jìn)步,要知道庇忌, Python 2就已經(jīng)是程序員在現(xiàn)代互聯(lián)網(wǎng)環(huán)境中用來快速高效工作的最佳語言之一了舞箍。
主要特色
每個Python程序都編寫成了一個模塊。每個程序都會導(dǎo)入其依賴的模塊皆疹,定義其函數(shù)或類疏橄,然后通過一個 if 語句來確保所有導(dǎo)入行為。只有在模塊 name 為特殊字符串值 ‘main’ 時,該 if 語句對應(yīng)的代碼塊才會執(zhí)行捎迫。模塊 name 為 ‘main’ 晃酒,表示該模塊作為主程序執(zhí)行。
大多數(shù)腳本使用標(biāo)準(zhǔn)庫的argparse模塊窄绒,而不是原始的sys.argv字符串列表來解析命令行選項和參數(shù)贝次。這不僅闡明并記錄了每個腳本被調(diào)用時表示的語義,還允許每個腳本的用戶使用 -h 或者 —help 查詢選項彰导,在Windows或Unix的命令行中獲取交互式的幫助文檔浊闪。
程序通過在 with 控制語句中打開文件來進(jìn)行合理的資源控制。 with 語句包含的代碼塊完成的時候螺戳,打開的文件會自動關(guān)閉。
大多數(shù)程序在進(jìn)行字符串插值時已經(jīng)轉(zhuǎn)而使用現(xiàn)代的 format() 方法折汞,以前則使用 string % tuple 的方法倔幼。后者在20世紀(jì)90年代有一定的意義,因為那時大多數(shù)程序員都通曉C語言爽待。但對于現(xiàn)在進(jìn)入這個領(lǐng)域的新人程序員來說损同,這種方法可讀性較差,而且由于自定義的Python類不能對百分號格式符進(jìn)行操作符重載鸟款,因此提供的功能也不夠強(qiáng)大膏燃。
關(guān)于HTTP和萬維網(wǎng)的章節(jié)側(cè)重于更清晰地解釋協(xié)議,并介紹Python所提供的大部分用于編寫Web應(yīng)用的現(xiàn)代工具何什。在解釋HTTP協(xié)議時使用Requests庫進(jìn)行客戶端操作组哩,它提供的API相當(dāng)實(shí)用。第11章提供了Flask和Django框架的示例处渣。
Python 3大量改進(jìn)了為編寫安全的應(yīng)用程序所提供的支持伶贰,關(guān)于SSL/TLS的內(nèi)容值得期待。Python 2的 ssl 模塊使用的是一個折中的方法——該方法功能較弱罐栈,甚至沒有驗證服務(wù)器的證書是否與Python連接的主機(jī)名對應(yīng)黍衙。Python 3的 ssl 模塊提供了一個設(shè)計更嚴(yán)謹(jǐn)、功能更豐富的API荠诬,以便用戶安全方便地使用其特性琅翻。
點(diǎn)擊閱讀原文,查看更多 Python 教程和資源
閱讀原文:http://mp.weixin.qq.com/s?timestamp=1480910543&src=3&ver=1&signature=VsvZORasbzURAK4hu2aWFAkWQwpSjvly0Y3DtecK7tfMpdOLZ2HW9FAlUfItCYy-FERTT*IvpPO3fnCEM-docw4yvcDkDXnlwVuUhRO3DQjLHWPvlxBTj*4S*X4j70bUBdI0pgiTZUBmAgQbrN10M82EtOV0FsOVdAyzVJpCE9k=