[英]When is semicolon use in Python considered “good” or “acceptable”?
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 docs或Guido關於分號使用的某種語句。
PEP 8是官方風格指南,並說:
通常不鼓勵使用復合語句(同一行上的多個語句)。
(另請參閱PEP之后的示例。)
雖然我不同意PEP 8所說的一切,但如果你正在尋找一個權威的來源,就是這樣。 您應該僅使用多語句行作為最后的手段。 ( python -c
是這種最后手段的一個很好的例子,因為在這種情況下你無法使用實際的換行符。)
我一直在代碼中使用分號。 我們的代碼經常跨行折疊,分號是一個聲明結束的明確斷言。
output, errors, status = generate_output_with_errors_and_status(
first_monstrous_functional_argument(argument_one_to_argument
, argument_two_to_argument)
, second_argument);
看到? 它們對可讀性非常有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.