BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

开发人员眼中的Python 3

| 作者 Jonathan Allen 关注 526 他的粉丝 ,译者 王瑜珩 关注 0 他的粉丝 发布于 2011年8月23日. 估计阅读时间: 3 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

Python 3正式版已经发布两年半了,由于新版本没有向后兼容2.x版,大家对它的反应也不太一样。为了搞清楚开发人员是如何看待Python 3的,我们采访了Virgil Dupras。

InfoQ:请先介绍一下自己,你在平时的工作中哪些地方用到了Python?

Virgil Dupras:我用PyObjC和PyQT开发了一些开源的桌面应用程序,发布在http://www.hardcoded.net/上。我之前是做Delphi的,但从2005年开始就一直使用Python了。

InfoQ:一年前你就切换到了Python 3上,主要原因是什么?

Virgil Dupras: 我非常喜欢Python,我想让它变得更好。我希望能够更多的参与到核心语言的开发中,但后来发现我还是不够聪明。当然,我还可以提交补丁(我确实提交了一些),可事实上我几乎就没遇到过Python有什么缺陷,因此也没什么补丁好提交的。

所以,我觉得我能够帮助Python的最好方法就是做一个Python 3的早期使用者,这也确实达到我了目的。我没遇到过Python本身的问题,到是很多库有缺陷。我还为py3k做了很多库移植的工作。

InfoQ:当你将代码升级到Python 3的时候,有没有因为兼容性而产生严重的问题?

Virgil Dupras: 升级到Python 3时,你唯一可能遇到的大问题就是字符串和字节之间关系的问题。不过不用担心,只要在升级之前导入所有相关的__future__模块就行了。除法可能也是一个问题,不过你不是已经用“from __future__ import division”解决了么?

字符串和字节的问题非常很棘手,在移植代码之前你得好好想想怎么使用字符串类型。比如,正则表达式只能用于匹配字符串,无法匹配字节。所以,如果之前你把字符串当做字节来用正则表达式解析的话,你就会遇到问题。

除了这种情况,字符串与字节的问题就很好解决了:注意字面值,检查所有的“open”调用,确认到底应该用二进制模式还是文本模式。

InfoQ:有没有在Python 2中你喜欢的,但是Python 3却没有的特性?

Virgil Dupras: 没有,这还是同一种语言,只是更好了。

更多关于跨平台界面开发的信息,请参考Virgil的文章Cross-Toolkit Software

查看英文原文:Reports from the Field: Python 3 with Hardcoded Software

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

python3第三方库的支持不到位 by Yu Fun

比如PIL,wxPython等,需要的时候发现没有很郁闷

很多库都还不能用 by yanping hu

如果确实做为一个PY3的使用者,那是没有太多的问题。
但作为一个应用使用,其实现在PYTHON 3还有很长的路。

做饭的灶台很完美,可是锅却合适 by 李 振璟

我是初学python,做了一个简单的网站,呵呵。python确实很强大,proupy.com

Re: python3第三方库的支持不到位 by nic Alan

这儿已有移植PIL,《在 Python 3 下用PIL做图像处理》:www.cnblogs.com/txw1958/archive/2012/02/21/2361... www.lfd.uci.edu/~gohlke/pythonlibs/

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT