【Python学习】—面向对象(九)

news2025/1/12 18:06:58

【Python学习】—面向对象(九)

一、初识对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
类中不仅可以定义属性来记录数据,也可以定义函数,用来记录行为,类中定义的属性(变量)我们称之成员变量,类中定义的行为(函数),我们称之为成员方法。

成员方法的定义语法

在这里插入图片描述
在这里插入图片描述

self的作用

  • 表示对象本身的意思
  • 只有通过self,成员方法才能访问类的成员变量
  • self出现在形参列表中,但是不占用参数位置,无需例会
class Student:
      name=None

      def say_hi(self):
          print(f"大家好,我是{self.name},欢迎大家多多关照")

stu=Student()
stu.name="张三"
stu.say_hi()

二、基于类创建对象

在这里插入图片描述

class Clock:
    id=None
    price=None

    def ring(self):
        import winsound
        winsound.Beep(2000, 3000)



clock1=Clock()
clock1.id='1112'
clock1.price=233
print(f"闹钟ID:{clock1.id},价格{clock1.price}")
clock1.ring()

clock2=Clock()
clock2.id='21122'
clock2.price=99.00
print(f"闹钟ID:{clock2.id},价格{clock2.price}")
clock2.ring()

三、构造方法

Python类可以使用:_init_()方法,称为构造方法

可以实现:

  • 在创建类对象(构造类)的时候,会自动执行
  • 在创建类对象( 构造类)的时候,将传入的参数自动传递给_init_方法使用
class Student:
    name = None
    age=None
    tel=None

    def __init__(self,name,age,tel):
        self.name=name
        self.age=age
        self.tel=tel
        print("student类创建了一个对象")

stu=Student("Cai",20,'13222222222')
print(stu.name)
print(stu.age)
print(stu.tel)

构造方法注意事项

在这里插入图片描述
在这里插入图片描述

四、内置方法

__init__构造方法,是Python类内置的方法之一,这些内置的类方法,各自有各自特殊的功能,这些内置方法我们称为魔术方法


在这里插入图片描述

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __lt__(self,other):
        return self.age<other.age
stu1=Student("张三",20)
stu2=Student("李四",17)

print(stu1<stu2)
print(stu1>stu2)

在这里插入图片描述

在这里插入图片描述

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __le__(self,other):
        return self.age <= other.age
stu1=Student("张三",20)
stu2=Student("李四",20)

print(stu1<=stu2)#True
print(stu1>=stu2)#True

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def __eq__(self,other):
        return self.age == other.age
stu1=Student("张三",20)
stu2=Student("李四",20)

print(stu1==stu2)#True

总结

在这里插入图片描述

五、封装

面向对象的三大特性:继承、封装、多态

封装

在这里插入图片描述
私有成员

私有成员无法被类对象使用,但是可以被其他的成员使用
在这里插入图片描述

在这里插入图片描述

继承

在这里插入图片描述
在这里插入图片描述

class 类名(父类名):
  内容体

在这里插入图片描述

pass的关键字

pass是一个普通的占位符,保证函数或者类定义的完整性,表示无内容、空的意思

复写

在子类中重新定义同名的属性或方法

在这里插入图片描述

六、类型注解语法

在这里插入图片描述
在这里插入图片描述

var_1: int=10
var_2: str="caicai"
var_3: bool=True

class Student:
    pass
stu:Student=Student()

my_list:list=[1,2,3]
my_tuple:tuple=(1,2,3)
my_dict:dict={"caicai":123}


my_list:list[int]=[1,23,3]
my_tuple:tuple[int,str,bool]=(1,"cai",True)

在这里插入图片描述
在这里插入图片描述

函数类型注解

在这里插入图片描述

七、多态

多态指的是:多种状态,即完成某个行为时,使用不同的对象会得到不同的状态

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1149693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文详解如何从 Oracle 迁移数据到 DolphinDB

Oracle 是一个广泛使用的关系型数据库管理系统&#xff0c;它支持 ACID 事务处理&#xff0c;具有强大的安全性和可靠性&#xff0c;因此被广泛应用于各种企业级应用程序。但是&#xff0c;随着数据规模的增加和业务需求的变化&#xff0c;Oracle 的一些限制和缺点也逐渐暴露出…

基于SSM的乐器购物网站设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

专业菜单栏管理软件 Bartender 激活最新 for mac

Bartender是一款Mac电脑上的菜单栏管理工具&#xff0c;它允许用户对菜单栏上的图标进行组织、隐藏和管理&#xff0c;以提高工作效率和界面整洁度。以下是Bartender的一些主要特点和功能&#xff1a; 菜单栏图标管理&#xff1a;Bartender允许用户对菜单栏上的图标进行管理和组…

JavaScript_Pig Game重置游戏

//重置游戏 btnNew.addEventListener(click, function () {score0El.textContent 0;score1El.textContent 0;current0El.textContent 0;current1El.textContent 0;player0El.classList.remove(player--winner);player1El.classList.remove(player--winner);player0El.class…

理解android AIDL

理解Android AIDL 在研究了 Android Frameworks 中进程间通信&#xff08;IPC&#xff09;相关的一些程序后&#xff0c;了解到 Android 系统中进程间通信的机制绝大部分就是 Binder&#xff0c;主要表现在系统服务的调用&#xff0c;app进程间功能调用等。而 Android 上实现 …

基于机器视觉的银行卡识别系统 - opencv python 计算机竞赛

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的银行卡识别算法设计 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng…

Leetcode刷题详解——按摩师

1. 题目链接&#xff1a;面试题 17.16. 按摩师 2. 题目描述&#xff1a; 一个有名的按摩师会收到源源不断的预约请求&#xff0c;每个预约都可以选择接或不接。在每次预约服务之间要有休息时间&#xff0c;因此她不能接受相邻的预约。给定一个预约请求序列&#xff0c;替按摩师…

华泰证券:新奥能源:零售气待恢复,泛能与智家仍是亮点

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;由于新奥能源&#xff08;02688&#xff09;发布三季度经营数据&#xff1a; 1-3Q23&#xff1a;天然气零售量yoy-4.7%&#xff0c;燃气批发量yoy17.6%&#xff0c;综合能源销量yoy34.2%&#xff…

基于SpringBoot的社区医院管理系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 用户信息管理 病例信息管理 家庭医生管理 药品信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的…

中科驭数亮相2023中国移动全球合作伙伴大会

10月11-13日&#xff0c;2023中国移动全球合作伙伴大会开幕。中科驭数作为移动云COCA生态合作伙伴&#xff0c;受邀出席“算网融百业数智赢未来”政企分论坛&#xff0c;高级副总裁张宇上台参与移动云OpenCOCA开源项目和《OpenCOCA白皮书》的重磅发布仪式&#xff0c;助力构建未…

CS224W3.3——整图Embedding

在某些情况下&#xff0c;重要的是不仅要学习节点的嵌入&#xff0c;还要学习整个图。在这篇中&#xff0c;我们介绍了几种可以有效地学习整个图嵌入的方法&#xff0c;包括节点嵌入的聚合&#xff08;aggregation of node embeddings&#xff09;&#xff0c;以及匿名行走嵌入…

Sketch mac 98.3(矢量绘图设计软件)

Sketch是一款专为Mac设计的矢量图形编辑软件&#xff0c;被广泛应用于UI/UX设计、网页设计、移动应用设计等领域。Sketch提供了各种工具和功能&#xff0c;包括绘图、图形设计、排版等&#xff0c;可以帮助设计师轻松地创建高质量的矢量图形和模型。Sketch的主要特点包括&#…

Selenium3-当元素通过@FindBy获取时,返回元素为null

报错: 在获取元素的js属性时一直获取不到&#xff0c;报空指针&#xff0c;定位到元素时&#xff0c;发现是FindBy的元素没有找到 解决方法: 在page类的构造函数中加上了 界面初始化&#xff0c;让元素先隐式加载&#xff0c;这样就不会出现返回元素为空的情况辣 PageFactory…

瑞萨RH850-P1X ECM和英飞凌TC3xx SMU对比

1.1 基本结构 P1X ECM(Error Control Module)收集从不同的错误源和监控电路发来的错误信号&#xff0c;并通过error pin(ERROROUTZ)对外输出、产生中断并发出ECM reset信号。 P1x-C系列根据产品型号不同&#xff0c;ECM个数也不相同&#xff0c;如下&#xff1a; 对应寄存器基地…

高效合并视频剪辑:批量操作,省时省力,提高效率

在视频制作领域&#xff0c;合并视频剪辑是一个必不可少的环节。然而&#xff0c;逐个合并视频文件不仅费时且效率低下&#xff0c;还容易出现错误。通过批量操作的方式&#xff0c;可以一次性处理多个视频文件&#xff0c;大大节省了时间和精力&#xff0c;提高了工作效率。本…

【文件存储服务器】Minio使用

文章目录 2.2 Minio使用2.2.1 Minio介绍2.2.2 Minio安装Windows安装Linux安装 2.2.3 Minio入门 2.3 上传文件接口2.3.1 FileUploadController2.3.2 FileUploadService2.3.3 MinioProperties2.3.4 配置文件内容2.3.5 主启动类加上EnableConfigurationProperties 2.4 前端对接 2.…

Typora 最新激活方法

Markdown是一种可以使用普通文本编辑器编写的标记语言&#xff0c;通过简单的标记语法&#xff0c;它可以使普通文本内容具有一定的格式&#xff0c;其目标是实现易读易写。而Typora则是一个非常不错的Markdown编辑器&#xff0c;它的界面非常的简洁直观&#xff0c;并且功能各…

15. 机器学习 - 支持向量机

Hi, 你好。我是茶桁。 逻辑回归预测心脏病 在本节课开始呢&#xff0c;我给大家一份逻辑回归的练习&#xff0c;利用下面这个数据集做了一次逻辑回归预测心脏病的练习。 本次练习的代码在「茶桁的AI秘籍」在Github上的代码库内&#xff0c;数据集的获取在文末。这样做是因为我…

探究栈帧的奥妙

目录 探究栈帧的奥妙 引言 浅浅说一下栈 问问自己几个问题 什么是栈帧 栈帧的维护 汇编预备知识 小例子 访问栈帧里的数据 例子 栈帧是如何切换的 栈帧是如何处理参数和返回值的 探究栈帧的奥妙 作者申明&#xff1a; 文中有些名词可能不太官方&#xff0c;大部分…

UEditor配置后端上传图片

&#x1f525;博客主页&#xff1a; 破浪前进 &#x1f516;系列专栏&#xff1a; Vue、React、PHP ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 后端框架&#xff1a;Fastadmin 目录结构&#xff1a; 代码&#xff1a; {"imageActionName": "uploadimage&q…