写点什么

开发人员眼中的 Python 3

2011 年 8 月 21 日

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

2011 年 8 月 21 日 22:067645
用户头像

发布了 63 篇内容, 共 20.5 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

想要做网页游戏怎么办 ?PixiJs篇(一)

空城机

前端 游戏开发 4月日更 pixi HTML5游戏

手把手教你基于Prometheus搭建监控告警系统

Java全栈封神

云原生 Prometheus 监控告警

电子病历上链,区块链+医疗拓开行业应用新蓝海

茜茜公主

四月日更

【LeetCode】丑数 IIJava题解

HQ数字卡

算法 LeetCode 4月日更

美团面试题:String s = new String("111") 会创建几个对象?

Java小咖秀

Java string 面试题 java面试 java对象

我一怒之下写了个抄袭举报工具!只因一觉醒来我的文章被多个平台抄袭!

1_bit

Python selenium 签约计划 文本分析 文章查重

线程池的引入和实践案例分享

小诚信驿站

线程池 线程池工作原理

自古彭城列九州 龙争虎斗几千秋|靠谱点评

无量靠谱

这些相见恨晚的命令行工具,你用过几个?

王坤祥

bash Linux Tool

推荐一本新书《Software Design for Flexibility: How to Avoid Programming Yourself Into a Corner》

顿晓

推荐书籍 4月日更 SICP flexibility

【IDEA】配置MySQL环境并创建MySQL数据库

anuyyy

Java MySQL 数据库 IDEA

全网首发:Android Camera2 集成人脸识别算法

小驰嘻嘻

android 人脸识别 Android开发 Camera;

树莓派4B+OpenVINO快速实现人脸识别

IT蜗壳-Tango

音视频 IT蜗壳教学 4月日更

数据结构和算法难?盘他!-快速入门

Aldeo

数据结构 算法 时间复杂度 复杂度 算法和数据结构

从运营、产品和技术,多角度思考电商的营销体系建设

邴越

电商营销 优惠券

数据中台前世今生

李孟

大数据 数据中台 签约计划

如何设计一款用户想要的产品——“Design Thinking”培训笔记

gavin

产品设计 design thinking

如何从零搭建技术团队

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

广告投放预算低?千人成本低才是真的省!

󠀛Ferry

四月日更

100万级车辆数据监控的hadoop大数据架构探索与实践

黑马腾云

大数据 flink hadoop 分布式 车联网

聪明人的训练(十一)

Changing Lin

四月日更

华仔架构训练营作业(模块一)

不听不听王八念晶

重装变态的微信

箭上有毒

生活 【4 月日更】

ElasticSearch 如何使用 ik 进行中文分词?

程序员历小冰

中文分词 elasticsearch ik 全文搜索

干货版“测试小品”欢乐场景

清菡

自动化测试

uni-app跨端开发H5、小程序、IOS、Android(八):理解uni-app生命周期

黑马腾云

小程序 uni-app ios android H5

从零开始带你打开批处理大门

xiezhr

doc 批处理 cmd

2021 年带你漫游语音识别技术

清秋

人工智能 语音识别 智能音箱 签约计划 4月日更

【音视频】手把手带你实现超实用实时音视频工具

轻口味

android 音视频 WebRTC 移动端 OpenGL ES

从一个创业者的角度看国外爆火音频实时聊天APP-ClubHouse,真香

Langer

产品推荐 产品策略 语音社交

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之动态表关系管理(六)

crudapi

Vue crud crudapi quasar 表关系

开发人员眼中的Python 3-InfoQ