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

Python打卡训练营day28-类的定义与方法

知识点回顾:

  1. 类的定义
  2. pass占位语句
  3. 类的初始化方法
  4. 类的普通方法
  5. 类的继承:属性的继承、方法的继承

类的定义,初始化,方法

即将“对象”和可以对“对象”进行的“操作”封装到一起

import math  class Circle:  # 定义一个类def __init__(self, radius=1): # 传入半径self.radius = radius      # self.radius 是实例属性(可修改属性名,需同步改方法中的用)def calculate_area(self):              # 定义面积方法return math.pi * self.radius ** 2  # math.pi 是固定常量,self.radius 是实例属性def calculate_circumference(self):     # 定义周长方法return 2 * math.pi * self.radius

cir1 = Circle(5)
print(cir1.calculate_area())
print(cir1.calculate_circumference())

78.53981633974483

31.41592653589793

方形类

class Rectangle:def __init__(self,length,width):self.length = lengthself.width = widthdef calculate_area(self):return 2*(self.length+self.width)def calculate_perimeter(self):return self.length * self.widthdef is_square(self):if self.length == self.width:return Trueelse:return False
rect1 = Rectangle(2,2)
print(rect1.calculate_area())
print(rect1.calculate_perimeter())
rect1.is_square()

8

4

True

工厂函数

def 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. Supported types: 'circle', 'rectangle'")

pass

用于类或方法暂时没有具体实现时,用 pass 避免语法错误:

class EmptyClass:  # 空类(占位)passdef todo_method():  # 待实现的方法pass

类的继承

class Rectangle:def __init__(self,length,width):self.length = lengthself.width = widthdef calculate_area(self):return 2*(self.length+self.width)def calculate_perimeter(self):return self.length * self.widthdef is_square(self):if self.length == self.width:return Trueelse:return Falseclass square:def __init__(self,width):super().__init__(width)        # 继承初始化方法def calculate_area(self):return self.width*self.width   # 重写面积函数

相关文章:

  • Wireshark抓包分析小程序接口请求教程
  • 前端JavaScript-嵌套事件
  • C++ stack对象创建、入栈、获取栈顶
  • 深入学习LLM开发 第二四章:向量数据库说明
  • 项目优先级不清,如何合理分配资源?
  • ubuntu24.04+RTX5090D 显卡驱动安装
  • 风车聊天室nodejs环境即可无需数据库
  • Android开发——不同布局的定位属性 与 通用属性
  • 【机器学习基础】机器学习与深度学习概述 算法入门指南
  • 高噪声下扩展边缘检测算子对检测边缘的影响
  • Linux中进程控制(上)
  • cmd如何从C盘默认路径切换到D盘某指定目录
  • CVE-2018-1270源码分析与漏洞复现(spring-messaging 表达式注入)
  • f-string 高效的字符串格式化
  • 如何提高独立服务器的安全性?
  • Mysql的binlog日志
  • 实时监控服务器CPU、内存和磁盘使用率
  • [Java实战]Spring Boot整合Prometheus:应用性能监控与可视化(三十二)
  • IDEA推送到gitlab,jenkins识别,然后自动发布到需要的主机(流水线)
  • 【iOS】分类、扩展、关联对象
  • 外贸官网建设/谷歌seo快速排名软件首页
  • php网站开发技术训练心得/百度营销登录入口
  • 基于php+mysql的网站开发/长春关键词优化排名
  • 渐变配色网站/最全bt搜索引擎入口
  • 手机当服务器建网站/太原网站建设
  • 注册公司北京/深圳优化网站