PyCon主席教你学网络编程

Python 有着非常活跃的开发者社区。许多 Pythonistas 在工作之余,会给开源项目做贡献,在当地做演讲,甚至是主办地区活动。其中站在“金字塔顶端”的人中,就包括 PyCon US 大会的主席。本期推文的主角就是 PyCon US 2016 的主席,Brandon Rhodes。

Brandon 是 Dropbox 的工程师,和 Python 之父 Guido van Rossum 是同事。他热衷于传播 Python,经常在 Python 主题大会上演讲。从他的个人网站上看,从 2008 年至 2016 年,他总共做了 32 场演讲。他也从 2016 年开始担任 PyCon US 的主席,下一届也是他带着干。

不过,本期不是要详细介绍他的情况,而是让他教你怎么用 Python 进行网络编程


难道是请到微信群分享?还是搞视频直播?

那样是一次性的,而且覆盖的人群太小。更好的方法是写书了,就是这本《Python网络编程》。


Foundations of Python Network Programming

作者:Brandon Rhodes,John Goerzen
译者:诸豪文
页数:360
定价:79

EarlGrey:呵呵,准备送 5 本图灵样书给大家。简单看了下样书,翻译的质量还不错。

活动方式

  • 活动时间:2016 年 12 月 5 日 — 2016 年 12 月 7 日

  • 参与方式:

    • 在本期微信推送下方留言,回复任意一个两位数(如11)

    • 转发本期图文

  • 获奖条件:

    • 取 2016 年 12 月 8 日当日收盘时上证指数的十位和个位数字(比如,如果是 3789 ,那获奖数字就是“ 89 ”)

    • 最接近获奖数字的前5位同学(按留言时间),将获得赠书一本

  • 编程派保留此次活动的最终解释权。

注:数字留言不会显示在评论中。

有关本书的详细情况,请看下面的介绍。

本书主要内容

  • Python 3示例讲解,涵盖网络编程所有经典话题

  • 提供大量代码清单及示例

  • 从应用开发角度介绍网络编程基本概念、模块以及第三方库

毫无疑问,这本书的重点在于网络编程,示例脚本及代码片段使用Python 3来阐释。目的是帮助读者全面了解使用Python提供的工具构建网络客户端、网络服务器以及网络工具的最佳实践,最大化使用Python 3提供的功能来解决现代网络编程的问题。

本书源码获取地址:

https://github.com/brandon-rhodes/fopnp

Python 3提供给网络程序员的编程平台几乎在方方面面都有所改进,无论是基础性的(如将Unicode文本设为Python 3的默认字符串类型),还是特有的(如对SSL的正确支持、内置的用于异步编程的asyncio框架,以及对标准库中大大小小的模块的细微调整)。这是一个显著的进步,要知道, Python 2就已经是程序员在现代互联网环境中用来快速高效工作的最佳语言之一了。

主要特色

每个Python程序都编写成了一个模块。每个程序都会导入其依赖的模块,定义其函数或类,然后通过一个 if 语句来确保所有导入行为。只有在模块 name 为特殊字符串值 ‘main’ 时,该 if 语句对应的代码块才会执行。模块 name 为 ‘main’ ,表示该模块作为主程序执行。

大多数脚本使用标准库的argparse模块,而不是原始的sys.argv字符串列表来解析命令行选项和参数。这不仅阐明并记录了每个脚本被调用时表示的语义,还允许每个脚本的用户使用 -h 或者 —help 查询选项,在Windows或Unix的命令行中获取交互式的帮助文档。

程序通过在 with 控制语句中打开文件来进行合理的资源控制。 with 语句包含的代码块完成的时候,打开的文件会自动关闭。

大多数程序在进行字符串插值时已经转而使用现代的 format() 方法,以前则使用 string % tuple 的方法。后者在20世纪90年代有一定的意义,因为那时大多数程序员都通晓C语言。但对于现在进入这个领域的新人程序员来说,这种方法可读性较差,而且由于自定义的Python类不能对百分号格式符进行操作符重载,因此提供的功能也不够强大。

关于HTTP和万维网的章节侧重于更清晰地解释协议,并介绍Python所提供的大部分用于编写Web应用的现代工具。在解释HTTP协议时使用Requests库进行客户端操作,它提供的API相当实用。第11章提供了Flask和Django框架的示例。

Python 3大量改进了为编写安全的应用程序所提供的支持,关于SSL/TLS的内容值得期待。Python 2的 ssl 模块使用的是一个折中的方法——该方法功能较弱,甚至没有验证服务器的证书是否与Python连接的主机名对应。Python 3的 ssl 模块提供了一个设计更严谨、功能更丰富的API,以便用户安全方便地使用其特性。


点击阅读原文,查看更多 Python 教程和资源


阅读原文:http://mp.weixin.qq.com/s?timestamp=1480910543&src=3&ver=1&signature=VsvZORasbzURAK4hu2aWFAkWQwpSjvly0Y3DtecK7tfMpdOLZ2HW9FAlUfItCYy-FERTT*IvpPO3fnCEM-docw4yvcDkDXnlwVuUhRO3DQjLHWPvlxBTj*4S*X4j70bUBdI0pgiTZUBmAgQbrN10M82EtOV0FsOVdAyzVJpCE9k=
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容