可爱的 Python:获得版本 2.0
2007-03-29 12:08:12 来源:WEB开发网核心提示: 这些问题从理论上来说很令人着迷,但从现在起,可爱的 Python:获得版本 2.0(8),大多数程序员应该只是忽略它们,无论您选择的是哪一种 Python 发行版,然后在那里执行魔术,但 Python 2.0 是通过向 print 语句添加“重定向运算符” >
这些问题从理论上来说很令人着迷,但从现在起,大多数程序员应该只是忽略它们。无论您选择的是哪一种 Python 发行版,几乎都可以对您所使用的平台执行正确的操作;除非您确切知道为什么希望启用或禁用 GC,否则建议您不要管它。
打印指令
虽然 van Rossum 以及小组其他成员使用 Python 2.0 进行了一些不错的尝试,但他们也将一个瑕疵引入了 Python。它对某些事物相当有用,但在我看来(也在许多其他 Python 程序员看来),它在原来没有的地方引入了一个全新的(也是不好的)语法特性。不过,大多数程序员怀疑这一缺陷只不过是个计策,是为了使 Python 其余部分的简单性和长处发挥得更加出色。
print 语句执行了文件对象的 .write() 方法不具备的一点魔法(sys.stdout 只是 print 写入的另一个文件对象)。 print 语句允许多个可以属于任何 Python 类型的自变量。结尾的逗号方便地允许在 print 语句之间续行,而缺省情况是将每一组写入自己的一行中。总的说来, print 只是从程序到控制台获得一些信息的便捷方法。
许多 Python 程序员都曾希望将同样的 print 巫术用于写入其它文件对象(例如 sys.stderr、常规文件,或各种模块提供的“类似于文件”的对象)。我认为这样做的正确方法是向文件对象添加一个 .print() 方法,然后在那里执行魔术。但 Python 2.0 是通过向 print 语句添加“重定向运算符” >> 来添加这一能力的。例如:
print 语句中的重定向运算符
>>>
import
sys
>>>
print
>> sys.stderr,
"spam", [1,2,3], 45.2
spam [1, 2, 3] 45.2
它能够工作 -- 并添加了一种不错的能力 -- 但它只是将 Python 向某些其它编程语言的“可执行行噪声”感受推进了一小步。
更多精彩
赞助商链接