Python是一种"以空格分隔"的语言.然而,使用分号被允许的.例如,以下工作但不赞成:
print("Hello!");
print("This is valid");
Run Code Online (Sandbox Code Playgroud)
我已经使用python好几年了,而且我用过分号的唯一一次是用python生成一次性命令行脚本:
python -c "import inspect, mymodule; print(inspect.getfile(mymodule))"
Run Code Online (Sandbox Code Playgroud)
或在SO的评论中添加代码(即"你应该尝试import os; print os.path.join(a,b)
")
我在这个答案中也注意到一个类似的问题,分号也可以用来制作一个行if
块,如
if x < y < z: print(x); print(y); print(z)
Run Code Online (Sandbox Code Playgroud)
这对我给出的两个用法示例(命令行脚本和注释)很方便.
以上示例用于以段落形式传递代码或制作简短的代码段,但不是我在生产代码库中所期望的.
这是我的问题:在python中,是否有理由在生产代码中使用分号?我想他们仅仅因为我引用的原因而被添加到语言中,但是Guido总是有可能考虑到更为宏伟的计划.没有意见; 我正在寻找分号有用的现有代码中的示例,或者来自python docs或Guido关于分号使用的某种语句.
Bre*_*arn 18
PEP 8是官方风格指南,并说:
通常不鼓励使用复合语句(同一行上的多个语句).
(另请参阅PEP之后的示例.)
虽然我不同意PEP 8所说的一切,但如果你正在寻找一个权威的来源,就是这样.您应该仅使用多语句行作为最后的手段.(这python -c
是最后一种手段的一个很好的例子,因为在这种情况下你无法使用实际的换行符.)