我使用Python 2.7爲什麼在空函數中允許多行註釋,但不允許單註釋?
我的IDE會顯示indent expected
,如果我寫這樣
def foo():
#
功能但如果我寫這
def foo():
'''
'''
是否有任何之所以出現這種情況?
我使用Python 2.7爲什麼在空函數中允許多行註釋,但不允許單註釋?
我的IDE會顯示indent expected
,如果我寫這樣
def foo():
#
功能但如果我寫這
def foo():
'''
'''
是否有任何之所以出現這種情況?
評論是編譯器忽略的內容。當你在該行上發表評論時,編譯器基本上假裝它不存在。但多線字符串是代碼的物理元素。 Python認識到它的存在並沒有抱怨。
如果要編寫一個不起任何作用的函數,至少現在使用pass
。
def Foo():
#Comment goes here
pass
pass
是說,一個關鍵字「的東西應該在這裏,但是我故意不把這裏任何東西」。
'''
實際上並不是一個評論。它像一個行爲,但實際上是一個字符串分隔符。
嘗試:
>>> s = '''
... '''
>>> print(s)
>>> repr(s)
"'\\n'"
>>> s = #
File "<stdin>", line 1
s = #
^
SyntaxError: invalid syntax
>>> s = '''foo'''
>>> print(s)
foo
因爲(多與否)*串*實際上是代碼(作爲'在一個函數的開始__doc__'屬性),但*評論*不。 – jonrsharpe
我很好奇 - 做了一些書,教授,網站或其他資源告訴你'''''引入了多行評論?如果是這樣,你能告訴我是誰/那是什麼嗎? –
注意:它不是特定於多行字符串。在Python中,只有空字符串「'」的def纔是有效的。 – wim