十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。
Python 3 的新特性
上一篇 /
下一篇 2010-10-10 16:48:28
/ 个人分类:python
009 年 2 月 02 日
:u'xn,`9vj/g0Python 3 是 Guido van Rossum 功能强大的通用编程语言的最新版本。它虽然打破了与 2.x 版本的向后兼容性,但却清理了某些语法方面的问题。本文是系列文章中的第一篇,介绍了影响该语言及向后兼容性的各种变化,并且还提供了新特性的几个例子。
Python 版本 3,也被称为 Python 3000 或 Py3K(仿效 Microsoft® Windows® 2000 操作系统而命名的昵称)是 Guido van Rossum 通用编程语言的最新版本。虽然新版本对该核心语言做了很多改进,但还是打破了与 2.x 版本的向后兼容性。其他一些变化则是人们期待已久的,比如:51Testing软件测试网P"j(B
i
k!t"XNt
- 真正的除法 — 例如,1/2 返回的是 .5。
long
和 int
类型被统一为一种类型,删除了后缀 L。True
、False
和 None
现在都是关键字。
本文 — Python 3 系列文章中的第一篇 — 的内容涵盖了新的 print()
函数、input()
、输入/输出(I/O)的变化、新的 bytes
数据类型、字符串和字符串格式化的变化以及内置的 dict
类型的变化。本文面向的是那些熟悉 Python 并对新版本的变化很感兴趣但又不想费力读完所有 Python Enhancement Proposal(PEP)的编程人员。(本文后面的 参考资料 部分提供了有关这些 PEP 的链接。)
3I8Yw2~4u4`2N[0新的 print() 函数51Testing软件测试网&@Wl[&?7e;Ysa
如今,您将需要让手指习惯于键入 print("hello")
,而不是原来的 print "hello"
,这是因为 print
现在是一个函数,不再是一个语句。我知道,这多少有点痛苦。我认识的每个 Python 程序员 — 一旦安装了版本 3 并得到 “语法不正确” 错误 — 都会郁闷地大叫。我知道这两个额外的符号十分讨厌;我也知道这将会破坏向后兼容性。但是这种改变还是有好处的。51Testing软件测试网,i8d/}if'Nq
让我们考虑这样的情况,即需要将标准输出(stdout)重定向到一个日志。如下的例子会打开文件 log.txt 以便进行追加并将对象指定给 fid
。之后,利用 print>>
将一个字符串重定向给文件 fid
:51Testing软件测试网7F c;|K[6j
>>>fid = open("log.txt", "a")
>>>print>>fid, "log text" |
51Testing软件测试网:Ybj_2vJ
另外一个例子是重定向给标准错误(sys.stderr):
7Ko:J#oS0>>>print>>sys.stderr, "an error occurred" |
g4QJm)ZH~
i d0上述两个例子都不错,但还有更好的解决方案。新的语法只要求给 print()
函数的关键字参数 file
传递一个值就可以了。比如: