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.0 beta 1 变化大,更简洁、更统一相关推荐

  1. python简单代码编写-新手写Python,8招让你的代码更简洁更Pythonic!

    Python是一门非常灵活的语言,很多语法是其他语言不具备的,特别是对于从C.Java等语言转向Python的人来说,很容易按照C.Java等语言的写法来写Python,对于初学者来说,如果对Pyth ...

  2. Python发展的新时代—冯大辉先生谈《Python源码剖析》

    Python 3.0 beta 1终于在 6 月 18 号发布了,依照Python一贯主张的简洁,标准,统一精神,Beta版的新特性让我们惊喜的发现,Python正如我们所期望的那样已经进入了一个蓬勃 ...

  3. python 3.0 print_Python 3.x 新特性及10大变化

    python 3.x 起始版本是Python 3.0,目前的最新版本是 3.3.3 Python之父Guido van Rossum谈到了Python 3.0的构思: 一直以来,除非要打破向后兼容性, ...

  4. 好压软件测试大乐,国产压缩软件好压2.0 Beta完全评测

    好压压缩软件(HaoZip)是国内自主研发的最大的免费压缩软件,压缩率比同类软件高出10%~30%.无论在速度,易用性还是安全性方面均表现出色,并且更新速度快,兼容性好,支持格式多达46种. 软件小档 ...

  5. 《Python Spark 2.0 Hadoop机器学习与大数据实战_林大贵(著)》pdf

    <Python+Spark 2.0+Hadoop机器学习与大数据实战> 五星好评+强烈推荐的一本书,虽然内容可能没有很深入,但作者非常用心的把每一步操作详细的列出来并给出说明,让我们跟着做 ...

  6. spark python教程_Python Spark 2.0 Hadoop机器学习与大数据实战 完整pdf_IT教程网

    资源名称:Python Spark 2.0 Hadoop机器学习与大数据实战 完整pdf 第1章 Python Spark机器学习与Hadoop大数据 1 第2章 VirtualBox虚拟机软件的安装 ...

  7. 利用 Python 计算资产 beta 值和市场 beta 值

    作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai 在这篇文章中,我们将强调理解股票市场中 beta 的重要性,以及我们如何来使用 beta 来对冲市场风险 ...

  8. Comprehensive Guide to build a Recommendation Engine from scratch (in Python) / 从0开始搭建推荐系统...

    https://www.analyticsvidhya.com/blog/2018/06/comprehensive-guide-recommendation-engine-python/, 一篇详细 ...

  9. flutter从0到1构建大前端应用 pdf_前端骨架屏都是如何生成的

    作者:SHERlocked93 转发链接:https://mp.weixin.qq.com/s/j2XzwLPnalDCNaKkfjH-0Q 前言 相比于早些年前后端代码紧密耦合.后端工程师还得写前端 ...

最新文章

  1. Cosmos的基石:IL2CPU编译器--.net/C#开源操作系统学习系列三
  2. python函数注释 参数 省略号_python – make函数在help()函数中有参数的省略号
  3. leetcode算法题--删除回文子序列
  4. android+ip+rule+策略路由,策略路由以及使用 ip route , ip rule , iptables 配置策略路由实例...
  5. Java黑皮书课后题第4章:*4.14(转换字母等级为数字)编写程序,提示用户输入一个字母等级A、B、C、D或者F,显示对应的数字值4、3、2、1或者0。对其它输入,提示非法等级
  6. python循环语句知识点_Python for 循环语句【每日一个知识点第115期
  7. 一个多业务、多状态、多操作的交易链路?闲鱼架构这样演进
  8. Nodejs是什么?
  9. linux下java连接mysql_LinuxJava连接MySQL数据库
  10. linux php和java环境变量配置_java_linux配置java环境变量详细过程,直接上实现过程: 一. 解压安 - phpStudy...
  11. 使用Spring Task轻松完成定时任务
  12. linux下无对应分辨率,linux mint 向“显示(display)”面板添加没有提供的分辨率选项,使虚拟机中的linux mint可以全屏显示...
  13. rest风格使用两个变量_SpringBoot2.x系列教程|构建RESTful风格的API接口
  14. 甘肃暴雨强度公式_中国城市新一代暴雨强度公式
  15. 使用IDEA搭建SSM项目
  16. Access-Control-Allow-Origin跨域问题,使用Nginx配置来解决
  17. 猫哥教你写爬虫 019--debug-作业
  18. 路由器常用功能有哪些 路由器功能介绍【详解】
  19. 软件测试-Mysql数据库3
  20. 计算机专业毕业论文选哪方面,计算机专业毕业论文格式有哪些要求

热门文章

  1. 【BZOJ2400】Optimal Marks
  2. cad连接mysql_CAD教程-数据库连接入门.ppt
  3. 如何解决台式机重装系统后,耳机插入无声音
  4. keil stm32f407工程环境搭建
  5. [书]x86汇编语言:从实模式到保护模式 -- 第13章 mbr加载内核、内核加载应用程序
  6. 自定义控件 1 (入门)
  7. not a valid representation
  8. Week10 作业B - LIS LCS
  9. EtherCAT igh主站控制松下伺服(csp模式)
  10. 几种对象实例化方式详解