Python脚本
'''
a
'''
from __future__ import print_function
运作良好(即什么都不做),但
'''
a
'''
'''
b
'''
from __future__ import print_function
原因:
File "C:\test.py", line 8
from __future__ import print_function
SyntaxError: from __future__ imports must occur at the beginning of the file
为什么呢?
https://docs.python.org/2/reference/simple_stmts.html#future说:
未来声明必须出现在模块顶部附近。唯一的 可以出现在未来声明之前的行是:
- 模块docstring(如果有),
- 的评论,
- 空行和
- 其他未来的陈述。
第二个示例仅在from __future__ import print_function
之前包含注释和空行,但它不起作用。
我使用Python 2.7。
答案 0 :(得分:14)
......这似乎与我给出的第二个例子相矛盾。
不,因为那些不是评论,所以它们是字符串。
第一个字符串作为docstring从代码中删除,但第二个字符串成为由字符串本身组成的代码中的语句。 __future__
导入必须在所有与代码相关的行之前,即使是那些无效的行。