小编典典

什么时候在Python中使用分号表示“良好”或“可接受”?

python

Python是一种“空白分隔”语言。然而,使用分号 允许的。例如,以下作品但不被接受:

print("Hello!");
print("This is valid");

我使用python已经有好几年了,而我唯一使用过分号的地方就是使用python生成一次性命令行脚本:

python -c "import inspect, mymodule; print(inspect.getfile(mymodule))"

或在SO的注释中添加代码(即“您应该尝试import os; print os.path.join(a,b)”)

我在这个类似问题的答案中也注意到,分号也可以用来制作一个线条if块,例如

if x < y < z: print(x); print(y); print(z)

这对于我给出的两个用法示例(命令行脚本和注释)很方便。


上面的示例用于以段落形式交流代码或编写简短的摘要,但不是我希望在生产代码库中实现的功能。

这是我的问题:在python中,是否有理由在生产代码中使用分号?我认为仅出于我提到的原因将它们添加到语言中,但是Guido总是有可能考虑到更大的计划。请不要发表意见。我正在从分号有用的现有代码中查找示例,或者从python文档或Guido寻求有关分号使用的某种声明。


阅读 222

收藏
2020-12-20

共1个答案

小编典典

PEP 8是官方样式指南,其中说:

通常不建议使用复合语句(同一行上的多个语句)。

(另请参阅PEP之后的示例。)

尽管我不同意PEP 8所说的一切,但是如果您正在寻找权威的资料,那就足够了。您只能将多语句行用作最后的选择。(这python -c是最后选择的一个很好的例子,因为在这种情况下,您无法使用实际的换行符。)

2020-12-20