Rei*_*ien 0 python whitespace comments indentation
显然,这:
def f():
pass
# maybe the function is over
pass # oh wait, it's not
f()
Run Code Online (Sandbox Code Playgroud)
是有效的语法,而这不是:
def f():
pass
''' maybe the function is over '''
pass # oh wait, it's not
f()
Run Code Online (Sandbox Code Playgroud)
这对我来说是一个巨大的惊喜。所以我的问题是:
是的,第一个是有效的,因为它以#语言中定义的注释行开头,因此它被忽略并且它的缩进不会结束函数或开始新的函数。
后者是不同的,它是一个被评估的字符串,但它的值从未被使用过,你可以使用它来实现多行注释,但解释器仍然会尝试将该字符串评估为代码,所以这个字符串的缩进对解释器很重要,它可以结束范围。
对于第二个写类似的东西
'''comment''''
Run Code Online (Sandbox Code Playgroud)
对解释器来说是一样多的代码
my_var = '''comment'''
Run Code Online (Sandbox Code Playgroud)
但是这个
# comment
Run Code Online (Sandbox Code Playgroud)
被忽略并且不是解释器的代码。
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |