DAY28 超大力王爱学Python
知识点回顾:
- 类的定义
- pass占位语句
- 类的初始化方法
- 类的普通方法
- 类的继承:属性的继承、方法的继承
作业
题目1:定义圆(Circle)类
import mathclass Circle:def __init__(self, radius=1):self.radius = radius # 半径属性,默认值为1def calculate_area(self):"""计算圆的面积(πr²),保留两位小数"""area = math.pi * self.radius ** 2return round(area, 2)def calculate_circumference(self):"""计算圆的周长(2πr),保留两位小数"""circumference = 2 * math.pi * self.radiusreturn round(circumference, 2)
题目 2:长方形(Rectangle)类
class Rectangle:def __init__(self, length=1, width=1):self.length = length # 长属性,默认值为1self.width = width # 宽属性,默认值为1def calculate_area(self):"""计算长方形面积(长×宽)"""return self.length * self.widthdef calculate_perimeter(self):"""计算长方形周长(2×(长+宽))"""return 2 * (self.length + self.width)def is_square(self):"""判断是否为正方形(长==宽)"""return self.length == self.width
题目 3:图形工厂函数
def create_shape(shape_type, *args):"""根据类型创建图形对象:param shape_type: 图形类型("circle"或"rectangle"):param *args: 可变参数(圆传入半径,长方形传入长和宽):return: 图形对象实例"""if shape_type == "circle":if len(args) < 1:raise ValueError("创建圆需要传入半径参数")return Circle(args[0]) # 半径为第一个参数elif shape_type == "rectangle":if len(args) < 2:raise ValueError("创建长方形需要传入长和宽参数")return Rectangle(args[0], args[1]) # 前两个参数为长和宽else:raise ValueError("不支持的图形类型,仅支持circle或rectangle")