[英]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.