说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
(编码题)编写一个 Python 类,表示一个简单的矩形。要求这个类具有以下功能:
__init__
接受矩形的宽度和高度,并将其存储在对象中。__str__
方法,使其返回一个字符串,描述矩形的宽度和高度。__eq__
方法,使其判断两个矩形是否相等(宽度和高度相等)。 __add__
方法,使其能够将两个矩形相加,返回一个新的矩形,新矩形的宽度为两个矩形宽度之和,高度为两个矩形高度之和。你可以通过这个类来测试你的实现:
# 测试示例
rect1 = Rectangle(5, 10)
rect2 = Rectangle(3, 8)
print(rect1) # 输出:Rectangle(5, 10)
print(rect2) # 输出:Rectangle(3, 8)
print(rect1 == rect2) # 输出:False
rect3 = rect1 + rect2
print(rect3) # 输出:Rectangle(8, 18)
请完成这个题目并测试你的实现。
Python 代码如下
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def __str__(self):
return f'Rectangle({self.width}, {self.height})'
def __eq__(self, other):
return self.width == other.width and self.height == other.height
def __add__(self, other):
new_width = self.width + other.width
new_height = self.height + other.height
return Rectangle(new_width, new_height)
# 测试示例
rect1 = Rectangle(5, 10)
rect2 = Rectangle(3, 8)
print(rect1) # 输出:Rectangle(5, 10)
print(rect2) # 输出:Rectangle(3, 8)
print(rect1 == rect2) # 输出:False
rect3 = rect1 + rect2
print(rect3) # 输出:Rectangle(8, 18)
这个类包含了初始化方法 __init__
,字符串表示方法 __str__
,相等判断方法 __eq__
和加法方法 __add__
。你可以使用这个类创建矩形对象,并进行相应的操作和测试。
查看相关链接中的知识。
(完)
更新时间:Aug. 16, 2024, 10:50 p.m. 标签:python 习题 特殊方法