当前位置: 首页 > 面试题库 >

python:NameError:全局名称“…”未定义

臧兴学
2023-03-14
问题内容

在我的代码中,我有:

class A:
    def a():
        ......

    def b():
        a()
        ......
    b()

然后,编译器将说“ NameError:全局名称a()未定义”。如果我将所有东西都从A类中取出,那没问题,但是如何在A类中定义方法?非常感谢你。


问题答案:

你需要调用self.a()调用aba不是 一个全球性的功能,它是在类中的方法。

您可能想通读有关类的Python教程,以获得更详细的信息。



 类似资料:
  • 问题内容: 我在Mac OS X上使用Python 2.6.1。 我有两个简单的Python文件(如下),但是当我运行时 我在终端上: 我尝试以不同的方式重命名文件和类,这就是为什么两端有x和z的原因。;) 文件sqlitedbx.py 文件update_url.py 问题答案: 您需要做:

  • 问题内容: 我发现有关滚动条的这段代码工作正常。 我尝试在我的代码中使用它,如下所示: 但是,当我运行上述代码时,插入行出现错误。 顺便说一句,我试图找到文档,而effbot的链接是我最近的链接,但仍然无法理解是什么错误。 问题答案: ,和都驻留在名称空间中。因此,需要通过以下方式来对他们进行资格鉴定: 或者,您可以根据需要显式导入它们:

  • 问题内容: 运行python程序时出现错误: 游戏从这里开始。 是什么导致此错误? 问题答案: 您正在尝试使用Python 3运行Python 2代码库。在Python 3中已重命名为。 而是使用Python 2运行游戏。不要试图将它移植,除非你知道自己在做什么,很可能会出现超越更多的问题与。 作为记录,您看到的不是语法错误,而是运行时异常。 如果您确实知道自己在做什么,并且正在积极地使Pytho

  • 问题内容: 我正在尝试使用一个名为bidi的Python包。在此程序包(algorithm.py)中的模块中,尽管它是程序包的一部分,但仍有一些行会给我带来错误。 以下是这些行: 这是错误消息: 我应该如何重新编写代码的这一部分,使其可以在Python3中使用?另外,如果有人在Python 3中使用了bidi软件包,请让我知道他们是否发现了类似的问题。我感谢您的帮助。 问题答案: Python 3

  • 我试图使用一个名为Bidi的Python包。在这个包(algorithm.py)中的一个模块中,有一些行给我错误,尽管它是包的一部分。 以下是台词: 下面是错误消息: 我应该如何重新编写代码的这一部分,使其在Python3中工作?另外,如果有人将bidi软件包与Python3一起使用,请告诉我他们是否发现了类似的问题。我感谢你的帮助。

  • 问题内容: 我试图找出执行一条Python语句所花费的时间,因此我在网上看了一下,发现标准库提供了一个名为timeit的模块,该模块声称可以做到这一点: 但是,这会产生一个错误: 我对Python还是很陌生,我还不完全了解它的所有范围界定问题,但是我不知道为什么此代码片段不起作用。有什么想法吗? 问题答案: 更改此行: 对此: 检查一下您在最底部提供的链接。 要使timeit模块可以访问您定义的功