打卡第29天:类的定义和方法
知识点回顾:
1.类的定义
2.pass占位语句
3.类的初始化方法
4.类的普通方法
5.类的继承:属性的继承、方法的继承
作业
题目1:定义圆(Circle)类
要求:
1.包含属性:半径 radius。
2.包含方法:
●calculate_area():计算圆的面积(公式:πr²)。
●calculate_circumference():计算圆的周长(公式:2πr)。
3.初始化时需传入半径,默认值为 1。
import math
class Circle:def __init__(self, radius = 1):self.radius = radiusdef calculate_area(self):return math.pi * self.radius ** 2def calculate_circumference(self):return 2 * math.pi *self.radiuscircle = Circle()
area = circle.calculate_area()
circumference = circle.calculate_circumference()
print(f"圆的面积为{area}")
print(f"圆的周长为{circumference}")
题目2:定义长方形(Rectangle)类
1.包含属性:长 length、宽 width。
2.包含方法:
● calculate_area():计算面积(公式:长×宽)。
● calculate_perimeter():计算周长(公式:2×(长+宽))。
● is_square() 方法,判断是否为正方形(长 == 宽)。
3.初始化时需传入长和宽,默认值均为 1。
class Rectangle:def __init__(self, length=1, width=1):self.length = lengthself.width = widthdef calculate_area(self):return self.length * self.widthdef calculate_perimeter(self):return 2 * (self.length + self.width)def is_square(self):return self.length == self.width
rect = Rectangle()
area = rect.calculate_area()
perimeter = rect.calculate_perimeter()
is_square_result = rect.is_square()
print(f"矩形的面积为:{area}")
print(f"矩形的周长为:{perimeter}")
print(f"矩形是否为正方形:{is_square_result}")
题目3:图形工厂
创建一个工厂函数 create_shape(shape_type, *args)
,根据类型创建不同图形对象:图形工厂(函数或类)
shape_type="circle"
:创建圆(参数:半径)。shape_type="rectangle"
:创建长方形(参数:长、宽)。
class Circle:def __init__(self, radius):self.radius = radiusclass Rectangle:def __init__(self, length, width):self.length = lengthself.width = widthdef create_shape(shape_type, *args):if shape_type == "circle":return Circle(*args)elif shape_type == "rectangle":return Rectangle(*args)else:raise ValueError("Invalid shape type")circle = create_shape("circle", 1)
rectangle = create_shape("rectangle", 2, 3)
@浙大疏锦行