【发布时间】:2018-01-16 10:57:33
【问题描述】:
如果我需要打印一个换行符,编写print() 语句的最 Pythonic 方式是什么?我正在教别人 Python,我想把它做好。
我发现最有可能的两种方式是:
1) print("")
- 优点:更短更简单
- 缺点:
- 由于没有提到
\n,可能不太可读 - 依赖 end 是换行符,这可能并不明显
- 由于没有提到
2)print("\n", end = "")
- 优点:很明显该语句的目的是什么
- 缺点:更长。初学者可能不知道“结束”参数的含义。
【问题讨论】:
-
print()更短 -
@martineau 我不认为这是编写看起来怪异的 Python 3 代码的好理由。如果你想编写可移植的代码,你可以使用
from __future__ import print_function。 -
@martineau:在编写必须在 2 和 3 上运行的代码时,始终使用
from __future__ import ...语句。print_function是你的朋友,但不是你应该使用的唯一一个。 -
@martineau:只需重构该代码。从
print ...到print(...)变化不大。我们在 Facebook 做到了这一点;要求所有 Python-2 兼容代码必须具有那些__future__导入。我们现在正在用 Python 3 替换所有 Python 2 代码;所有新代码始终是 Python 3。请参阅 youtube.com/watch?v=nRtp9NgtXiA -
@martineau:Python 2.x 已被淘汰。现在每个人都应该使用 3.x。答案应针对 3.x。而且添加
from __future__ import print_function来迁移旧的2.x代码很简单,人们一直在这样做for the last 8 years
标签: python python-3.x io newline readability