(A)这个有效:
def func():
x = 1
print(x)
return
(B) 这种方法不起作用:
def func():
x = 1
print(x)
return
(C) 这种写法也不行:(这里我使用“_”表示空格)
def func():
x = 1
____
print(x)
return
(D) 这个可以工作:
def func():
x = 1
____# some comment
print(x)
return
在(B)和(C)中我遇到了以下错误:
- NameError:名称“x”未定义
- SyntaxError:函数外的'return'
我正在使用Eclipse和PyDev插件。Python版本为3.5,PyDev版本为4.5。
----------更新----------
在Jupyter Notebook和PyCharm中无法重现该问题。
在Eclipse中,我已经打开了“显示空格字符”选项。 (C)中的缩进确实由4个空格组成,在编辑器中显示为4个点号。 如果它是一个制表符,在Eclipse编辑器中它将显示为“>> ”。
考虑到我的彻底调查和下面的评论/答案,我相信这是Eclipse和/或PyDev的愚蠢bug。
感谢大家的帮助。