【发布时间】:2017-09-05 18:47:28
【问题描述】:
我有以下 python 代码:
class Geometry_2D:
def __init__(self, shape_name):
self.shape_name = shape_name
class Polygon(Geometry_2D):
def __init__(self, shape_name, verticies_amount):
Geometry_2D.__init__(self, shape_name)
self.verticies_amount
def Adjust_verticies_amount(self):
self.verticies_amount += 1
triangle = Polygon('triangle', 3)
quadrilateral = triangle.Adjust_verticies_amount()
这里我有一个变量verticies_amount,它在Polygon 类__init__ 函数中定义。我需要在Adjust_verticies_amount 函数中使用verticies_amountvariable。但是,这是不可能的,因为它们在不同的范围内。所以,我的quadrilateral = triangle.Adjust_verticies_amount() 电话无法正常工作。
我应该怎么做才正确?
【问题讨论】:
-
你只是忘记声明
self.verticies_amount = verticies_amount -
您忘记在您的
Polygon__init__中分配给self.verticies_amount。将来,说“它不起作用”还不足以说明问题。您的程序将在以下行失败:triangle = Polygon('triangle', 3),这会给您一个AttributeError