3 回答

TA貢獻1818條經(jīng)驗 獲得超11個贊
您可以使用三引號引起來的字符串。如果它們不是文檔字符串(類/函數(shù)/模塊中的第一件事),則將其忽略。
'''
This is a multiline
comment.
'''
(請確保'''適當(dāng)縮進引線,以避免出現(xiàn)IndentationError。)
Guido van Rossum(Python的創(chuàng)建者)在推特上發(fā)了一條“專業(yè)提示”。
但是,Python的樣式指南PEP8 傾向于使用連續(xù)的單行注釋,這也是在許多項目中都可以找到的。編輯人員通常都有捷徑可以輕松地做到這一點。

TA貢獻2019條經(jīng)驗 獲得超9個贊
Python確實具有多行字符串/注釋語法,即除非用作文檔字符串,否則多行字符串不會生成字節(jié)碼 -就像- #前置注釋一樣。實際上,它的行為就像評論一樣。
另一方面,如果您說必須在官方文檔中記錄此行為才是真正的注釋語法,那么可以,您可以肯定地說這不是語言規(guī)范的一部分。
無論如何,您的編輯器也應(yīng)該能夠輕松注釋掉所選區(qū)域(通過#在每行的前面分別放置一個)。如果沒有,請切換到可以的編輯器。
沒有某些文本編輯功能的Python編程可能會很痛苦。找到合適的編輯器(并知道如何使用它)可以極大地改變?nèi)藗儗ython編程經(jīng)驗的看法。
編輯器不僅能夠注釋掉選定的區(qū)域,還應(yīng)該能夠輕松地向左和向右移動代碼塊,并在按Enter鍵時將光標(biāo)自動置于當(dāng)前的縮進級別。代碼折疊也很有用。
為了防止鏈路衰減,這是Guido van Rossum的推文的內(nèi)容:

TA貢獻1876條經(jīng)驗 獲得超7個贊
從接受的答案...
您可以使用三引號引起來的字符串。如果它們不是文檔字符串(類/函數(shù)/模塊中的第一件事),則將其忽略。
這是不正確的。與注釋不同,三引號字符串仍然會被解析,并且在語法上必須有效,無論它們在源代碼中的位置如何。
如果您嘗試運行此代碼...
def parse_token(token):
"""
This function parses a token.
TODO: write a decent docstring :-)
"""
if token == '\\and':
do_something()
elif token == '\\or':
do_something_else()
elif token == '\\xor':
'''
Note that we still need to provide support for the deprecated
token \xor. Hopefully we can drop support in libfoo 2.0.
'''
do_a_different_thing()
else:
raise ValueError
你會得到...
ValueError: invalid \x escape
...在Python 2.x上...
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 79-80: truncated \xXX escape
...在Python 3.x上。
進行解析器忽略的多行注釋的唯一方法是...
elif token == '\\xor':
# Note that we still need to provide support for the deprecated
# token \xor. Hopefully we can drop support in libfoo 2.0.
do_a_different_thing()
添加回答
舉報