Python 错误 : Global Name not Defined

标签 python class

我正在尝试自学 Python,并且大部分时间都做得很好。但是,当我尝试运行代码时

class Equilateral(object):
    angle = 60
    def __init__(self):
        self.angle1, self.angle2, self.angle3 = angle

tri = Equilateral()

我收到以下错误:

Traceback (most recent call last):
  File "python", line 15, in <module>
  File "python", line 13, in __init__
NameError: global name 'angle' is not defined

可能有一个非常简单的答案,但为什么会这样?

最佳答案

self.angle1, self.angle2, self.angle3 = angle

应该是

self.angle1 = self.angle2 = self.angle3 = self.angle

只是说 angle 让 python 寻找一个不存在的全局 angle 变量。您必须通过 self 变量引用它,或者由于它是类级别变量,您也可以说 Equilateral.angle

其他问题是您用逗号分隔的 self.angleN。当您以这种方式分配时,python 将在等号两边寻找相同数量的部分。例如:

a, b, c = 1, 2, 3

关于Python 错误 : Global Name not Defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16258199/

相关文章:

python - 在Python中生成二维数组的排列矩阵

python - 如何设置只有整数的 x 轴刻度线?

python - 什么时候在 Python 中使用 _ 作为变量?

Python 快速字符串解析、操作

Python:如何使我的四色检查器更具可读性

class - 快速更改类中变量的值

java - 如何解决以另一个类命名的文件中的类的依赖关系

PHP 对静态变量的引用

PHP: self::vs parent::with 扩展

class - 如果 class.getProtectionDomain 返回 null 是什么意思