我使用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