gpt4 book ai didi

python - 当类的 __init__ 需要参数时构造不带参数的对象(矩形)

转载 作者:行者123 更新时间:2023-11-30 23:24:59 24 4
gpt4 key购买 nike

我正在做一项作业,需要一个Rectangle类来计算给定的面积和周长。我们已经获得了 main() 函数,并且必须围绕它进行构建。它似乎一直运行到它所说的 b = Rectangle() 为止

requires exactly 3 arguments.

这是我的代码:

class Shape(object):

def __init__(self):
pass
def area():
pass
def perimeter():
pass

class Rectangle(Shape):

def __init__(self, width, height):
Shape.__init__(self)
self.width = width
self.height = height

def area(self):
area = self.height * self.width
return area

def perimeter(self):
perimeter = 2*(self.width+self.height)
return perimeter

def getStats():
print "Width: %d" % b.width
print "Height: %d" % b.height
print "Area: %d" % b.area
print "Perimeter: %d" % b.perimeter

def main():

print "Rectangle a:"
a = Rectangle(5, 7)
print "area: %d" % a.area()
print "perimeter: %d" % a.perimeter()

print ""
print "Rectangle b:"
b = Rectangle()
b.width = 10
b.height = 20
print b.getStats()

main()

如何在不改变主函数的情况下让第二个矩形工作?

最佳答案

了解 python 对 default arguments 的支持对于“构造函数”...类似于

   def __init__(self, width = 0, height = 0) 

关于python - 当类的 __init__ 需要参数时构造不带参数的对象(矩形),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23164527/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com