当前位置: 首页 > news >正文

打卡第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)

@浙大疏锦行

相关文章:

  • React从基础入门到高级实战:React 核心技术 - React 状态管理:Context 与 Redux
  • 第三届京麒CTF Web
  • MyBatis入门:快速搭建数据库操作框架 + 增删改查(CRUD)
  • Web字体本地化的一种方案
  • 电动式传声器与电容式传声器
  • 【区间dp】-----例题4【凸多边形的划分】
  • 【前端基础】Promise 详解
  • Android Studio 介绍
  • 基于Robust Video Matting 使用Unity 实现无绿幕实时人像抠图
  • 编程日志5.19
  • 人工智能100问☞第33问:什么是计算机视觉?
  • 遥感解译项目Land-Cover-Semantic-Segmentation-PyTorch之三制作训练数据
  • 从无符号长整型数中提取字节
  • 力扣刷题Day 56:岛屿数量(200)
  • 策略模式与责任链模式学习笔记:从入门到理解
  • 如何选择自动化编程平台
  • OpenSSL 签名验证详解:PKCS7* p7、cafile 与 RSA 验签实现
  • 【windwos】文本编辑器Notepad++ 替代品Notepad--
  • 支持向量机(SVM)例题
  • 综合实现案例 LVS keepalived mysql 等
  • 在菲做平台网站/好的seo网站
  • 诸城做网站建设的/百度推广页面投放
  • 会员制营销方案案例/免费seo网站推广
  • 吉林省建设标准化网站/关键词优化方法有什么步骤
  • 南京做网站找哪家好/推广神器
  • 做足球直播网站/专业网站建设