Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么空函数中允许多行注释,但不允许单行注释?_Python - Fatal编程技术网

Python 为什么空函数中允许多行注释,但不允许单行注释?

Python 为什么空函数中允许多行注释,但不允许单行注释?,python,Python,我正在使用python 2.7 如果我编写这样的函数,我的ide将显示预期的缩进 def foo(): # 但如果我写这篇文章就不会了 def foo(): ''' ''' 发生这种情况有什么原因吗?编译器会忽略注释。当你把注释放在这行时,编译器基本上假装它不存在。但多行字符串是代码的物理元素。Python认识到它的存在,并没有抱怨 如果您想编写一个不做任何事情的函数,至少目前是这样,请使用pass pass是一个关键字,它说“应该有东西放在这里,但我故意不把任何东西放在

我正在使用python 2.7

如果我编写这样的函数,我的ide将显示预期的缩进

def foo():
    #
但如果我写这篇文章就不会了

def foo():
   '''
   '''

发生这种情况有什么原因吗?

编译器会忽略注释。当你把注释放在这行时,编译器基本上假装它不存在。但多行字符串是代码的物理元素。Python认识到它的存在,并没有抱怨

如果您想编写一个不做任何事情的函数,至少目前是这样,请使用pass

pass是一个关键字,它说“应该有东西放在这里,但我故意不把任何东西放在这里。”

“实际上不是一个注释。它的行为类似于一个,但实际上是一个字符串分隔符

尝试:


因为多行或非多行字符串实际上是代码,在函数的开头用作_doc______________________________________________?如果是这样,你能告诉我那是谁/什么吗?注意:这不是多行字符串特有的。下面只有空字符串的def在python中也是有效的。@Robᵩ 好吧,圭多自己也说过。。。谢谢你的链接。
def Foo():
    #Comment goes here
    pass
>>> s = '''
... '''
>>> print(s)


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