-1
我有以下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_amount
变量。但是,这是不可能的,因为它们处于不同的范围。所以,我的quadrilateral = triangle.Adjust_verticies_amount()
调用不起作用。
我应该怎么做才能正确?
你只是忘了申报'self.verticies_amount = verticies_amount' – PRMoureu
你忘了分配给'self.verticies_amount'在你的'Polygon'' __init__'中。将来,说“不起作用”不是一个充分的问题规范。你的程序在下面一行会失败:'triangle = Polygon('triangle',3)',它会给你一个'AttributeError' –