Python Error NameError: name '…' is not defined

Python Error NameError: name '…' is not defined

我是编程新手,尤其是 Python。如果有帮助,我正在尝试免费的 Udacity class 位于此处:

https://www.udacity.com/course/viewer#!/c-ud088/l-3621198668/m-3612388742

我在该视频的 1:14 时间戳。

不同之处在于,与 Python 2.7 版本相比,我在 Windows 10 上安装了 Python 3.5 版。我还使用 Sqlalchemy 1.0.9 版(他们使用的是 0.9 版)。我已经能够将他们的说明从他们的版本翻译成新版本。但是,当我收到以下错误时,我不确定出了什么问题。

在 Python 控制台中,我输入:

items = session.query(MenuItems).all()

我收到以下错误消息:

回溯(最近调用最后): 文件“”,第 1 行,在“ NameError: 名称 'MenuItems' 未定义

如果我遗漏了什么,请告诉我。先谢谢你了。

这意味着您没有名为 MenuItems 的对象(您是否拼写不同?)。您需要先定义一些东西,然后再使用它。 您应该有类似于以下的语句:

MenuItems = {... code}

NameError: name 'MenuItems' is not defined

当您遇到该错误时,您要么在定义之前使用了某个名称,要么在导入之前使用了该名称。为避免这种情况,您会期望在某处出现 from x import MenuItemMenuItem = ...class MenuItem

之类的定义

之前看了几个视频,老师是这样导入的:

from database_setup import Base, Restaurant, MenuItem

因此,如果您已经观看了视频,您应该在 database_setup.py

中定义了一个 class MenuItem

我建议您重新观看 "Putting it All Together",这样您就可以正确地使用模块和导入。