0
>>> class Triangle(object):
... number_of_sides = 3
... def __init__(self, angle1, angle2, angle3):
... self.angle1 = angle1
... self.angle2 = angle2
... self.angle3 = angle3
... def check_angles(self):
... return True if self.angle1 + self.angle2 + self.angle3 == 180 else False
...
>>> class Equilateral(Triangle):
... angle = 60
... def __init__(self):
... self.angle1 = angle
... self.angle2 = angle
... self.angle3 = angle
...
>>>
>>> e = Equilateral()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in __init__
NameError: global name 'angle' is not defined
令人惊讶的是这段代码给出了一个例外。为什么发现angle
未定义?实例方法中类成员变量可见性
问题是不是我怎样才能访问angle
,问题是为什么angle
无法访问?
use'ClassName.class_attribute' –