2021年最新Python讲义:类和对象(含练习小项目)

2023-10-27

类和对象

目标

  • 类和对象的概念
  • 类和对象的关系
  • 类的设计

01. 类和对象的概念

对象面向对象编程的 两个 核心概念

1.1 类

  • 是对一群具有 相同 特征 或者 行为 的事物的一个统称,是抽象的,不能直接使用
    • 特征 被称为 属性
    • 行为 被称为 方法
  • 就相当于制造飞机时的图纸,是一个 模板,是 负责创建对象的

请添加图片描述

1.2 对象

  • 对象由类创建出来的一个具体存在,可以直接使用
  • 哪一个类 创建出来的 对象,就拥有在 哪一个类 中定义的:
    • 属性
    • 方法
  • 对象 就相当于用 图纸 制造 的飞机

在程序开发中,应该 先有类,再有对象

请添加图片描述

02. 类和对象的关系

  • 类是模板对象 是根据 这个模板创建出来的,应该 先有类,再有对象
  • 只有一个,而 对象 可以有很多个
    • 不同的对象 之间 属性 可能会各不相同
  • 中定义了什么 属性和方法对象 中就有什么属性和方法,不可能多,也不可能少

03. 类的设计

在使用面相对象开发前,应该首先分析需求,确定一下,程序中需要包含哪些类!

在程序开发中,要设计一个类,通常需要满足一下三个要素:

  1. 类名 这类事物的名字,满足大驼峰命名法
  2. 属性 这类事物具有什么样的特征
  3. 方法 这类事物具有什么样的行为

大驼峰命名法

CapWords

  1. 每一个单词的首字母大写
  2. 单词与单词之间没有下划线

3.1 类名的确定

名词提炼法 分析 整个业务流程,出现的 名词,通常就是找到的类

3.2 属性和方法的确定

  • 对象的特征描述,通常可以定义成 属性
  • 对象具有的行为(动词),通常可以定义成 方法

提示:需求中没有涉及的属性或者方法在设计类时,不需要考虑

练习 1

需求

  • 小明 今年 18 岁身高 1.75,每天早上 完步,会去 东西
  • 小美 今年 17 岁身高 1.65,小美不跑步,小美喜欢 东西

请添加图片描述

练习 2

需求

  • 一只 黄颜色狗狗大黄
  • 看见生人 汪汪叫
  • 看见家人 摇尾巴

请添加图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2021年最新Python讲义:类和对象(含练习小项目) 的相关文章

随机推荐

  • Arthas(阿尔萨斯) 的安装与使用

    arthas官方文档 https arthas aliyun com doc index html点击此处进入 是Alibaba开源的Java诊断工具 深受开发者喜爱 在线排查问题 无需重启 动态跟踪Java代码 实时监控JVM状态 Art
  • 11月20日 如何在场景开启Debug,自定义AI任务,EQS,创建自己的环境任务,使用Pawn环境检测来检测周围的环境,让AI动作更顺滑(动画混合

    如何在场景开启Debug 按F1开启线框模式 按 打开Debug数据栏 按数字键3打开EQSDEBUG 开启距离场debug 自定义AI任务 创建BTTask RangeAttack h Fill out your copyright no
  • 使用msfconsole拿到win2008 R2的shell并进行维权二(权限维持)

    声明 本博文仅供学习交流使用 不可用于任何违法犯罪活动 由此带来的任何法律后果 本人概不承担 使用msfconsole拿到win2008 R2的shell并进行维权二 权限维持 四 维权后门 4 1查询服务器信息 4 1 1查看当前用户以及
  • linux挂载磁盘超时问题解决记录

    上周公司一台k8节点nfs挂载超时 同事反映 这个盘挂载是有问题 开始各种排查 都没问题 最后排查到nfs server节点iptables规则限制所致 记录一下这次的排查过程 1 server端排查 看配置 检查 showmount e
  • 拆机小白的联想小新I1000内存升级过程

    终于有时间升级一下我的4GB内存的联想小新I1000了 原想着如果可以扩展的话 内存升到最高 硬盘加装一个不用太大的SSD硬盘 把系统就装在SSD上面 机械就只作为一个存储的硬盘 可惜联想小新I1000不支持呀 内存条和硬盘都只是一个卡槽
  • 三、OpenCV图像的预处理——二值化与自适应阈值

    教程汇总 python基础入门系列 定义 图像的二值化 就是将图像上的像素点的灰度值设置为0或255 也就是将整个图像呈现出明显的只有黑和白的视觉效果 一幅图像包括目标物体 背景还有噪声 要想从多值的数字图像中直接提取出目标物体 常用的方法
  • 矩阵求秩

    矩阵的秩怎么计算 这个问题一下子我居然不知道怎么下手 虽然本科的时候学过线性代数 但是好久不用 很多东西都忘了 今天略微梳理一下吧 最简单直观的方法 化成行最简形 或行阶梯形 然后数一下非零行数 例如 将矩阵做初等行变换后 非零行的个数叫行
  • Python 实现多个类别数据的直方图区间层面累积堆叠

    Python 实现多个类别数据的直方图区间层面累积堆叠 数据可视化是数据科学中不可缺少的一部分 它能够帮助我们更好地理解和分析数据 直方图是一种常用的数据可视化方法 它可以将数据分布情况以柱状图的形式展示出来 如果存在多个类别的数据 我们可
  • mysql convert函数 解决读取double为科学计数法问题

    convert顾名思义就是转化 cast差不多 MySQL CONVERT 函数 参考手册 为什么需要这个函数 mysql是弱类型的 where stringcol 1 and intcol 1 都行 会自动转化 那我为什么还要呢 mysq
  • 错误:编码GBK的不可映射字符解决方案(亲测有效)

    CMD编译运行JAVA程序出现的错误 原要求 这次作业要求用命令行输出 但是java命令后显示的是中文乱码 也有的出现错误 编码GBK的不可映射字符 原因 引用 由于JDK是国际版的 我们在用javac exe编译时 编译程序首先会获得我们
  • 插入mysql,Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation:Data truncation: Data too long

    插入mysql 报错 Error updating database Cause com mysql cj jdbc exceptions MysqlDataTruncation Data truncation Data too long
  • Legal or Not HDU - 3342 拓扑排序 判环

    这道题的意思是 给你n个点 m行关系数据 左 gt 右 判断有无环的出现 方法 直接拓扑排序 如果能正常排序完 这个就是无环的有向图DAG 如果不能 在拓扑排序的过程中有些点的入度经过去边操作之后一直不为零 就是有环的存在 include
  • GPT4.0一句话实现各类图表制作,让数据可视化变得更简单!类图、流程图、ER图.....

    不知道大家有没有被ER建模工具复杂的操作按钮给困扰过 在作者学习ER建模时 曾希望能直接画出类图 但最终还是不得不学习繁琐的操作流程 然而 随着GPT的出现 AI现在也可以绘制UML图了 今天要向大家分享一个AI工具 它能够借助强大的GPT
  • STM32多中断模式

    1 基本概念 ARM Coetex M3内核共支持256个中断 其中16个内部中断 240个外部中断和可编程的256级中断优先级的设置 STM32目前支持的中断共84个 16个内部 68个外部 还有16级可编程的中断优先级的设置 仅使用中断
  • STM32与BLE蓝牙通信 Android APP配置(一)

    事物的难度远远低于对事物的恐惧 0 前言 最近完成了一个基于BLE蓝牙通信的简单APP 在这里记录下来 供大家参考希望能给需要的人解决疑惑 这个APP中一共是两个界面 第一个界面实现打开蓝牙 关闭蓝牙 扫描蓝牙和显示扫描的结果 通过选择扫描
  • 【接口测试基础】第十四篇

    iHRM项目实战 简介 功能模块 技术架构 前端 以Node js为核心的Vue js前端技术生态架构 后端 SprintBoot SprintCloud SprintMVC SprintData Spring全家桶 MySQL Redis
  • java list stream 去除 null_Stream流的这些操作,你得知道,对你工作有很大帮助

    作者 扬帆 起航 原文 https blog csdn net qq 43677736 Stream流 Stream 流 是一个来自数据源的元素队列并支持聚合操作 元素是特定类型的对象 形成一个队列 Java中的Stream并不会存储元素
  • SPSS软件学习

    1 文件 新建 数据 2 修改变量信息 在这里插入图片描述 3 查看数据基本情况 分析 描述统计 描述 4 相关性分析 相关 双变量 结果显示Pearson相关系数为 0 902 P值小于0 01 相关关系具有统计学意义 但实际上它们不一定
  • JAX基本用法以及GCN实现

    JAX定位 JAX 不是一个深度学习框架或深度学习库 其设计初衷也不是成为一个深度学习框架或深度学习库 JAX 的定位科学计算 Scientific Computing 和函数转换 Function Transformations 的交叉融
  • 2021年最新Python讲义:类和对象(含练习小项目)

    类和对象 目标 类和对象的概念 类和对象的关系 类的设计 01 类和对象的概念 类 和 对象 是 面向对象编程的 两个 核心概念 1 1 类 类 是对一群具有 相同 特征 或者 行为 的事物的一个统称 是抽象的 不能直接使用 特征 被称为