首页 > 解决方案 > 代码块在 Spyder (Anaconda3) 中不起作用

问题描述

我是 Python 的初学者,使用 Spyder 从 Anaconda3 编写代码。我试图在 Spyder (Python 3.7) 中输入这样的代码。我在尝试拆分代码时按了“Enter”,缩进显示为自动。但它总是返回“SyntaxError: invalid syntax”和“SyntaxError: 'return' outside function”。例如 1

data = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],
        'year':[2000,2001,2002,2001,2002,2003],
        'pop':[1.5,1.7,3.6,2.4,2.9,3.2]}

当我在任一行中按 F9 时,它会返回“SyntaxError:无效语法”。例如 2

def f(x):
    return pd.Series([x.min(),x.max()],index=['min','max'])

按 F9 运行该行,它返回“SyntaxError:解析时意外 EOF”。如果在第二行,则返回“SyntaxError: 'return' outside function”。

此外,我还尝试在每一行的末尾加上“\”。它也不起作用。并从网页中找到如果行以 : 或 结尾,则不需要 \ 进行拆分。

但!!!如果我删除了“Enters”并将所有内容放在一行中而没有拆分,那么它完全可以正常工作。为什么我的 python 不能使用代码块?如何用 Anaconda3 修复它?非常感谢~~~~

标签: spyder

解决方案


您可以\在每行的末尾使用来告诉 Python 该行在下面继续:

data = {\
'state':['Ohio','Ohio','Ohio','Nevada','Nevada','Nevada'],\
'year':[2000,2001,2002,2001,2002,2003],\
'pop':[1.5,1.7,3.6,2.4,2.9,3.2]\
}

将字典分成多行可能看起来很漂亮,但这不是正确的语法。我也被那些显示他们的字典的教程迷住了:|

这可能不适用于 IDLE 以外的解释器。


推荐阅读