簡體   English   中英

什么時候在Python中使用分號被認為是“好的”還是“可接受的”?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM