为什么在空函数中允许多行注释而不是单个注释?

时间:2016-03-07 17:58:48

标签: python

我正在使用python 2.7

如果我写了这样的函数,我的ide将显示indent expected

def foo():
    #

但如果我写这个

则不行
def foo():
   '''
   '''

这有什么原因吗?

2 个答案:

答案 0 :(得分:5)

注释是编译器忽略的东西。当你对该行发表评论时,编译器基本上假装它不存在。但是多行字符串是代码的物理元素。 Python认识到它的存在并且没有任何抱怨。

如果你想编写一个不做任何事情的函数,至少暂时使用pass

def Foo():
    #Comment goes here
    pass

pass是一个关键字,上面写着'应该去的地方,但我故意不在这里放任何东西'。

答案 1 :(得分:3)

'''实际上不是评论。它就像一个,但实际上是一个字符串分隔符。

尝试:

>>> s = '''
... '''
>>> print(s)


>>> repr(s)
"'\\n'"
>>> s = #
  File "<stdin>", line 1
    s = #
        ^
SyntaxError: invalid syntax
>>> s = '''foo'''
>>> print(s)
foo