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

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

一、初识对象

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

成员方法的定义语法

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

self的作用

  • 表示对象本身的意思
  • 只有通过self,成员方法才能访问类的成员变量
  • self出现在形参列表中,但是不占用参数位置,无需例会
class Student:name=Nonedef say_hi(self):print(f"大家好,我是{self.name},欢迎大家多多关照")stu=Student()
stu.name="张三"
stu.say_hi()

二、基于类创建对象

在这里插入图片描述

class Clock:id=Noneprice=Nonedef ring(self):import winsoundwinsound.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 = Noneage=Nonetel=Nonedef __init__(self,name,age,tel):self.name=nameself.age=ageself.tel=telprint("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=nameself.age=agedef __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=nameself.age=agedef __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=nameself.age=agedef __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=Trueclass 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.mzph.cn/news/123871.shtml

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

相关文章

【多态-动态绑定-向上转型-抽象类】

文章目录 静态绑定动态绑定多态的具体实现向上转型多态的优缺点抽象类抽象类的作用 总结 静态绑定 重载就是典型例子 动态绑定 多态的具体实现 //多态 class Animal{public String name;public int age;//无参构造方法public Animal() {}//有参构造方法public Animal(Strin…

MySQL Server 5.5 软件和安装配置教程

MySQL 5.5.58&#xff08;32/64位&#xff09;下载链接&#xff1a; 百度网盘&#xff1a;百度网盘 请输入提取码 提取密码&#xff1a;7act 软件简介&#xff1a; MySQL 是由瑞典MySQL AB 公司开发一个关系型数据库管理系统&#xff0c;目前属于 Oracle 旗下产品。MySQL 是最…

代码没注释?一个方法几百行?

干程序员的都有接收别人的代码的经历&#xff0c;大部分时候&#xff0c;我们都会偷偷骂一句“这人是傻逼吧&#xff0c;这代码写的这么烂&#xff01;” “一个方法写几百行&#xff0c;还没有注释&#xff0c;鬼知道写的什么东西&#xff01;” 现在&#xff0c;你不需要为…

2.flink编码第一步(maven工程创建)

概述 万里第一步&#xff0c;要进行flink代码开发&#xff0c;第一步先整个 flink 代码工程 flink相关文章链接 flink官方文档 两种方式 一种命令行 mvn 创建&#xff0c;另一种直接在 idea 中创建一个工程&#xff0c;使用 mvn 的一些配置 mvn命令行创建 mvn 创建flink工程&…

吴恩达《机器学习》1-4:无监督学习

一、无监督学习 无监督学习就像你拿到一堆未分类的东西&#xff0c;没有标签告诉你它们是什么&#xff0c;然后你的任务是自己找出它们之间的关系或者分成不同的组&#xff0c;而不依赖于任何人给你关于这些东西的指导。 以聚类为例&#xff0c;无监督学习算法可以将数据点分成…

接口测试,一篇搞定

大多数人对于接口测试都觉得是一种高大上的测试&#xff0c;觉得学会接口测试就可以从小白测试员&#xff0c;变成了高级测试员&#xff0c;但其实接口测试只是测试的基础内容 什么是接口 接口泛指实体把自己提供给外界的一种抽象化物&#xff08;可以为另一实体&#xff09;&…

9、电路综合-基于简化实频的任意幅频响应的微带电路设计

9、电路综合-基于简化实频的任意幅频响应的微带电路设计 网络综合和简化实频理论学习概述中的1-8介绍了SRFT的一些基本概念和实验方法&#xff0c;终于走到了SRFT的究极用途&#xff0c;给定任意响应直接综合出微带电路。 1、任意幅频响应的微带电路设计用途 我们演示了采用…

STM32单片机智能小车一PWM方式实现小车调速和转向

目录 1. 电机模块开发 2. 让小车动起来 3. 串口控制小车方向 4. 如何进行小车PWM调速 5. PWM方式实现小车转向 1. 电机模块开发 L9110s概述 接通VCC&#xff0c;GND 模块电源指示灯亮&#xff0c; 以下资料来源官方&#xff0c;具体根据实际调试 IA1输入高电平&#xff…

视频分辨率/帧率/码率选择参考

1. 视频码率与分辨率的参考表 1080&#xff0a;720的分辨率&#xff0c;用5000K左右&#xff1b; 720&#xff0a;576的分辨率&#xff0c;用3500K左右&#xff1b; 640&#xff0a;480的分辨率&#xff0c;用1500K左右。 2. 计算公式 基本算法&#xff1a;码率&#xff08;kb…

3.1每日一题(定积分求压力问题)

公式&#xff1a; (1) 压力等于压强乘以面积 (2) 压强等于ρgh(即密度&#xff0c;重力加速度&#xff0c;水的深度) 注&#xff1a;题目表面不一样&#xff0c;实际的原理都一样&#xff0c;做透一道题等于做懂一类题

论文阅读——InstructGPT

论文&#xff1a;Training_language_models_to_follow_instructions_with_human_feedback.pdf (openai.com) github&#xff1a;GitHub - openai/following-instructions-human-feedback 将语言模型做得更大并不能从本质上使它们更好地遵循用户的意图。例如&#xff0c;大型语…

光学仿真|优化汽车内部照明体验

当我们谈论优化人类感知的内部照明时&#xff0c;我们实际上指的是两个重点领域&#xff1a;安全性和驾驶员体验。如果内部照明可以提供尽可能最佳的体验&#xff0c;驾驶员则能够更好地应对颇具挑战性或意外的驾驶状况&#xff0c;并且减轻疲劳感。除了功能优势外&#xff0c;…

Vue 3 响应式对象:ref 和 reactive 的使用和区别

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是尘缘&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f449;点击这里&#xff0c;就可以查看我的主页啦&#xff01;&#x1f447;&#x…

【深度学习】吴恩达课程笔记(二)——浅层神经网络、深层神经网络

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 笔记链接 【深度学习】吴恩达课程笔记(一)——深度学习概论、神经网络基础 吴恩达课程笔记——浅层神经网络、深层神经网络 四、浅层神经网络1.双层神经网络表示2.双层神经网络的前向传播第一层前向传播第二层前…

Java进阶(Set)——面试时Set常见问题解读 结合源码分析

前言 List、Set、HashMap作为Java中常用的集合&#xff0c;需要深入认识其原理和特性。 本篇博客介绍常见的关于Java中Set集合的面试问题&#xff0c;结合源码分析题目背后的知识点。 关于List的博客文章如下&#xff1a; Java进阶&#xff08;List&#xff09;——面试时L…

mac电脑怎么永久性彻底删除文件?

Mac老用户都知道在我们查看Mac内存时都会发现有一条“其他文件”占比非常高&#xff0c;它是Mac储存空间中的“其他”数据包含不可移除的移动资源&#xff0c;如&#xff0c;Siri 语音、字体、词典、钥匙串和 CloudKit 数据库、系统无法删除缓存的文件等。这些“其他文件”无用…

frp-内网穿透部署-ubuntu22服务器-windows server-详细教程

文章目录 1.下载frp2.配置服务器2.1.配置frps.ini文件2.2.设置服务文件2.3.设置开机自启和服务操作2.4.后台验证2.5.服务器重启 3.配置本地window3.1.frpc配置3.2.添加开机计划启动3.3.控制台启动隐藏窗口 4.centos防火墙和端口3.1.开放端口3.2.查看端口 5.关闭进程5.1.杀死进程…

Elasticsearch:标量量化 101 - scalar quantization 101

作者&#xff1a;BENJAMIN TRENT 什么是标量量化以及它是如何工作的&#xff1f; 大多数嵌入模型输出 float32 向量值。 虽然这提供了最高的保真度&#xff0c;但考虑到向量中实际重要的信息&#xff0c;这是浪费的。 在给定的数据集中&#xff0c;嵌入永远不需要每个单独维度…

一体化模型图像去雨+图像去噪+图像去模糊(图像处理-图像复原-代码+部署运行教程)

本文主要讲述了一体化模型进行去噪、去雨、去模糊&#xff0c;也就是说&#xff0c;一个模型就可以完成上述三个任务。实现了良好的图像复原功能&#xff01; 先来看一下美女复原.jpg 具体的&#xff1a; 在图像恢复任务中&#xff0c;需要在恢复图像的过程中保持空间细节…

vue使用百度富文本

&#x1f525;博客主页&#xff1a; 破浪前进 &#x1f516;系列专栏&#xff1a; Vue、React、PHP ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 1、下载UEditor 链接已放到文章中了 2、上传到项目目录中 一般上传到public下&#xff0c;方便到时候打包进去&#xff0c;以免…