`
javayestome
  • 浏览: 1041821 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Python 3.0 beta 1 变化大,更简洁、更统一

阅读更多
Python 3.0 beta 1 变化大,更简洁、更统一
本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除作者信息。
Python 3.0 beta 1 在跳票了很短的一段时间后,在 6 月 18 号发布了,其实北京时间应该是 19 号了(下载:http://www.python.org/download/releases/3.0/)。因为是第一个 beta 版本,所以从 what’s new 上可以看出做了很多更改,跟之前的 alpha 版本有较大的不同。最大的特点在于完全依照了更简洁、更统一的精神,修正了许多原有版本中遗留下来的缺陷。
win9x 算是走到了尽头了,py3.0 b1 已经去除了 winsound 模块对 win9x 的支持。除此之外,b1 版本修正了几十个 bugs。另外,值得一提的是生成器有了 gen.__name__ 属性,就像函数的 func.__name__ 属性一样,enumerate() 多了一个 start 参考,显然,这有一定的需要。
beta 1 的特色之一是许多标准模块以包的形式组织:比如 urllib 包,它包括了原来 urllib、urllib2、urlparse、robotparse等模块的内容;另外是多了一个 http 包,原来的 httplib 变成了 http.client,Cookie 变成 http.cookies,cookieslib变成了 http.cookiejar,而 HTTPServer 就成了 http.server;还多了 xmlrpc 包,包括了原来的 xmlrpclib 等模块;之前类似的 dbm、gdbm、dbhash等全部放入了新建立的 dbm 包里面。怎么样,看起来是 pythonic 多了吧?之前的标准库实在太乱了,全部乱乱地放在 libs 下,这样整理一下非常有必要。
还有许多原来 python 版本和 C 版本库,如 cStringIO 和 StringIO、pickle 和 cPickle、profile 与 cProfile 等都统一用 C 版本了,但保留了原来 python 版本的模块名,如 pickle。这种整理也非常必要,许多初学者不知道用哪个版本的好,许多模块功能一样的,没有必要给用户太多选择,给最好的就行了。
最后是 Queue 改名为 queue,ConfigParser 改名为 configparser,copy_reg 改名为 copyreg,_winreg 改名为 winreg。threading 模块的 API 也变得更另 pythonic了,可以预见 python 3.0 写出来的代码风格会更加统一,可读性会更好。
直接去除了模块也非常多。比如处理 email 的 rfc822、mimetools;还有 htmllib 和 sgmllib。commands、multifile、sre、mhlib、fpformat、dircache、Canvas、user 和 mutex 等模块都被删除啦,不过其中有些库我都很少用到。还有跟 import 有关的 ihooks 和 imputil 模块也被删除了,呜呜,我有代码是用 imputil 的呀,还是改用 imp 好了,终究标准模块保险啊。
implement PEP 3138. repr() now returns printable Unicode characters unescaped, to get an ASCII-only representation of an object use ascii().Implement PEP 3121: new module initialization and finalization API.这是最新的两个 PEP 实现,基本上无需要关注,当透明就好了。
对比前面几个 alpha 版本,可以发现一些基础设施如 bytes、int 和一些跟 unicode 有关的部分已经渐渐稳定下来,对于像itertools 中的 izip()、imap()替代 builtin 的 zip、map等语言特色的东西都已经完成,可以说核心进度颇佳。估计 beta 版本更多的是重新整理库的组织形式、修 bug 和优化了。对于 py3.0,我觉得精彩可期啊!
分享到:
评论

相关推荐

    python官方3.0b3.amd64版本msi安装包

    4. **异常处理**:Python 3.x的异常处理语法更统一,使用 `try/except` 代替了 `try/except/else/finally` 的组合。 5. **范围生成器**:`range()` 函数在Python 3.x中返回的是生成器对象,而不是列表,这样可以...

    python3 AI五子棋.zip

    Python3是广泛使用的高级编程语言,以其简洁明了的语法和丰富的库支持而受到欢迎。在这个项目中,开发者可能使用了Python3的基础语法、数据结构(如列表、元组、字典)以及控制流语句(如for循环和if条件判断)来...

    Python库 | rkt_armutils-3.0.4.0b1.tar.gz

    这个库的版本号是3.0.4.0b1,表明它是一个beta版,意味着在正式发布之前,开发者可能还在对其进行测试和优化。 Python是一种广泛使用的高级编程语言,以其简洁的语法和丰富的库生态系统而闻名。Python库是预编写好...

    Python库 | fondat_core-3.0b37-py3-none-any.whl

    首先,fondat_core是Python生态中的一个重要组成部分,它的版本号3.0b37表明这是一个beta版本,意味着它可能包含一些实验性功能,并且开发者仍在进行持续优化。"py3-none-any"这部分表示该库适用于任何架构的Python ...

    农机班留言本 V3.1 Beta版

    1. 性能优化:V3.1 Beta版针对V3.0版本的性能瓶颈进行了优化,提升了系统响应速度,减少延迟现象。 2. 错误修复:对用户反馈的bug进行了修复,提高了系统的稳定性,降低了使用过程中出现故障的可能性。 3. 新增...

    2020年《python程序设计》基础知识及程序设计598题AGA[含参考答案].pdf

    Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱。在2020年的《Python程序设计》课程中,涵盖了基础语法、字符串操作、正则表达式等多个核心知识点。以下是对部分题目涉及的知识点的详细...

    2020年《python程序设计》基础知识及程序设计598题AGA[含参考答案].docx

    Python是一种高级编程语言,常用于数据处理、自动化任务和网络编程。在2020年的《Python程序设计》基础知识及程序设计598题中,涵盖了字符串操作...理解并熟练掌握这些知识点对于编写高效、简洁的Python代码至关重要。

    2020年《python程序设计》基础知识及程序设计598题C[含参考答案].pdf

    Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱。在2020年的《Python程序设计》课程中,学习者需要掌握一系列基础知识和编程技能,包括字符串操作、正则表达式、数据结构、控制流以及函数...

    人工智能-AI智能人机对弈五子棋 论文答辩报告.doc

    本系统采用Python 3.6.8版本作为编程语言,借助PyCharm 2022.2.3.0作为开发环境,旨在构建一个独立模块化的游戏程序,包括视觉界面、规则判定、AI智能算法以及功能部件等模块。 在AI智能算法的设计上,系统结合了...

    Aspyct-开源

    在Aspyct-3.0_beta_4这个版本中,我们可以期待一些新的改进和特性,如性能优化、错误修复、对新Python版本的支持以及可能的新功能。由于这是一个beta版本,这意味着它可能尚未经过充分的生产环境测试,开发者在实际...

Global site tag (gtag.js) - Google Analytics