Python编程对初学者有帮助吗?

2024-04-24 15:35:02 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我需要找出矩形的面积。我必须在矩形类中放入一个名为“calrea()”的方法,它将宽度*高度相乘。我不知道怎么做这件事,我很迷茫,这本书根本没有解释怎么做。我的代码是:

class Point():
    x = 0.0
    y = 0.0

    def __init__(self, x, y):
        self.x = x
        self.y = y
        print("Point Constructor")

    def ToString(self):
        return "{X:" + str(self.x) + ",Y:" + str(self.y) + "}"

class Ellipse(Point):
    radiusV = 0.0
    radiusH = 0.0

    def __init__(self, x, y, radiusV, radiusH):
        super().__init__(x,y)
        self.radiusV = radiusV
        self.radiusH = radiusH
        print("Ellipse Constructor")

    def ToString(self):
        return super().ToString() + \
                ",{Radius: Vertical = " + str(self.radiusV) + ", Radius: Horizontal = " +     str(self.radiusH) + "}"
p = Point(50,50)
print(p.ToString())
e = Ellipse(80,80,60,80)
print(e.ToString())

class Size():
    width = 0.0
    height = 0.0

    def __init__(self, width, height):
        self.width = width
        self.height = height
        print ("Size Constructor")

    def ToString(self):
        return "{Width = " + str(self.width) + \
               ", Height = " + str(self.height) + "}"

class Rectangle(Point, Size):
    area = 0.0

    def __init__(self, x, y, width, height):
        Point.__init__(self,x,y)
        Size.__init__(self,width,height)
        print("Rectangle Constructor")


    def ToString(self):
        return Point.ToString(self) + "," + Size.ToString(self) + 
s = Size (80,70)
print(s.ToString())

r = Rectangle(200,250,40,50)
print(r.ToString())

Tags: selfsizereturninitdefwidthclasspoint
1条回答
网友
1楼 · 发布于 2024-04-24 15:35:02

在您的Rectangle类中使用以下方法

def calcArea(self):
    return self.width * self.height

要打印区域,只需调用 print mRectangle.calcArea()

其中mRectangleRectangle类的一个实例。在

self.width和{}对您可用,因为Rectangle继承了Size类,Size在其构造函数中适当设置了实例变量width和{}。这些值对您可用,因为RectangleSize的子类。在

另外,你的大小类中的width = 0和{}可能并没有完全按照你的想法来做。它们是Python中的静态或类变量,与self.width和{}完全不同,这里有一个例子来说明这一点

^{pr2}$

在python中,可以使用语法ClassName.Variable访问类或静态变量,并且可以在不创建该类的对象的情况下进行访问。Where作为实例变量只能与类的实例一起调用。在

相关问题 更多 >