关于python:如何使用__future__ import print_function

how to use from __future__ import print_function

我刚开始使用python编程,我试图用一个分隔符打印出来,但它仍然给了我一个语法错误。我使用的是python 2.7我正在从VIM编辑器编码,下面是我的代码:

1
2
3
4
5
6
import sys, os, time
from __future__ import print_function

for x in range(0,10):
    print x, sep=' ', end=''
    time.sleep(1)

请帮忙。使用我的代码,告诉我应该在哪里实际使用from __future__ import print_function谢谢你


首先,from __future__ import print_function需要是脚本中的第一行代码(除了下面提到的一些例外)。其次,正如其他答案所说,您现在必须使用print作为函数。这就是from __future__ import print_function的全部要点;将print函数从python 3引入python 2.6+。

1
2
3
4
5
6
7
from __future__ import print_function

import sys, os, time

for x in range(0,10):
    print(x, sep=' ', end='')  # No need for sep here, but okay :)
    time.sleep(1)

__future__语句需要靠近文件的顶部,因为它们会更改语言的基本内容,因此编译器需要从一开始就了解它们。从文档中:

A future statement is recognized and treated specially at compile
time: Changes to the semantics of core constructs are often
implemented by generating different code. It may even be the case that
a new feature introduces new incompatible syntax (such as a new
reserved word), in which case the compiler may need to parse the
module differently. Such decisions cannot be pushed off until runtime.

文档还提到,在__future__语句之前只能有模块docstring、注释、空行和其他未来语句。