[英]Why does Python ignore comment indentation?
显然,这:
def f():
pass
# maybe the function is over
pass # oh wait, it's not
f()
是有效的语法,而这不是:
def f():
pass
''' maybe the function is over '''
pass # oh wait, it's not
f()
这对我来说是一个巨大的惊喜。 所以我的问题是:
是的,第一个是有效的,因为它以#
开头,在语言中定义为注释行,因此它被忽略并且它的缩进不会结束函数或开始新的函数。
后者不同,它是一个被评估的字符串,但它的值从未被使用过,您可以使用它来实现多行注释,但解释器仍然会尝试将该字符串作为代码进行评估,因此该字符串的缩进对解释器很重要,它可以结束范围。
对于第二个写类似的东西
'''comment''''
对解释器来说是一样多的代码
my_var = '''comment'''
但是这个
# comment
被忽略并且不是解释器的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.