Python面向对象编程思想的深入学习

魔术方法的使用

在这里插入图片描述

案例体验

class Student:def __init__(self, name, age):self.name = nameself.age = age# __str__魔术方法, 如果不去写这个方法,那么print输出的则是信息存储的内存地址。def __str__(self):return f'Student类对象,name:{self.name}, age:{self.age}'# __lt__魔术方法, 可以给类对象添加比较大小的功能(只能用到> or <)。def __lt__(self, other):return self.age < other.age# __le__魔术方法,支持(>= or <=)的比较方法。def __le__(self, other):return self.age <= other.age# __eq__魔术方法,完成相等的比较。def __eg__(self, other):return self.age == other.agestu = Student('周杰轮', 31)
stu1 = Student('李连杰', 21)
print(stu)
print(str(stu))
print(stu1 > stu)
print(stu >= stu1)

面相对象编程

私有成员和方法的定义使用

私有成员的实际意义:在类中提供仅供内部使用的属性和方法 ,而不对外开放(类对象无法使用)

定义的语法:在定义变量和函数的基础上,在函数名或变量名前添加2个下划线“__”

案例体验

"""演示面相对象封装思想中私有成员的使用
"""# 定义一个类, 内部含有私有成员变量和私有成员方法
# 私有成员的实际意义:在类中提供仅供内部使用的属性和方法,而不对外开放(类对象无法使用)
class Phone:__current_voltage = 1 # 当前手机运行电压,私有成员变量和方法可以被类中其他成员调用。def __keep_single_core__(self):print("让CPU以单核模式运行")def call_by_5G(self):if self.__current_voltage >= 1:print("5G通话已经开启")else:self.__keep_single_core__()print("电量不足,无法使用5G通话,并已经设置为单核运行进行省电。")phone = Phone()
phone.call_by_5G()

继承

单继承

在这里插入图片描述

概念:一个子类继承了一个父类

案例体验

"""演示类中继承的方法使用
"""
# 单继承
class Phone:IMEI = None # 序列号producer = "HM" # 厂商def call_by_4G(self):print("4G通话")class Phone2024(Phone):face_id = "131153" # 面部识别IDdef call_by_5G(self):print("2024新增加的功能,5g通话")phone = Phone2024()
print(phone.producer)
phone.call_by_4G()
phone.call_by_5G()

多继承

概念:一个子类继承多个父类

多继承中,如果父类有相同名方法或属性,先继承优先级高于后继承

在这里插入图片描述

pass 关键字的作用是什么?

pass 是站位语句,用来保证函数(方法)或类定义的完整性,表示无内容,空的意思

复写

在这里插入图片描述

在这里插入图片描述

案例体验

class Phone:IMEI = None # 序列号producer = "HMMMM" # 厂商def call_by_4G(self):print("4G通话")# 定义子类,复写父类成员
class MyPhone(Phone):producer = "ITHEIMA"def call_by_5G(self):print("开启GPU单核模式,确保通话时候省电")# 方式1,父类名成员变量.print(f"父类的厂商是:{Phone.producer}")Phone.call_by_4G(self)# 方法2,super().成员变量print(f"父类的厂商是:{super().producer}")super().call_by_4G()print("关闭GPU单核模式,确保性能")phone = MyPhone()
phone.call_by_5G()
print(phone.producer)

类型注解

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

多态

1)什么是多态?

多态是指,同一行为,使用不同的对象获得不同的状态。

如,定义函数(方法),通过类型注解声明需要父类对象,实际传人子类对象进行工作,从而获得不同的工作状态

2)什么是抽象类(接口)

包含抽象方法的类,称之为抽象类。抽象方法指的是:没有具体实现的方法(pass)

称之为抽象方法

3)抽象类的作用

多用于顶层设计(设计标准),以便子类做具体实现。

也是对子类的一种软约束,要求子类必须复写(实现)父类的一些方法

并配合多态使用,获得不同的工作状态。

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

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

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

相关文章

【Java 刷题记录】前缀和

前缀和 25. 一维前缀和 示例1&#xff1a; 输入&#xff1a; 3 2 1 2 4 1 2 2 3输出&#xff1a; 3 6import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(S…

基于FPGA的数字锁控制电路VHDL代码Quartus仿真

名称&#xff1a;基于FPGA的数字锁控制电路VHDL代码Quartus仿真&#xff08;文末获取) 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 任务及要求 硬件描述语言VHDL是一种用形式化方法描述数字电路和系统的语言。利用这种语 ,数字电路系统的设计可…

揭秘前端开发的“薪”机遇

众所周知&#xff0c;华为开发者大会2023&#xff0c;宣布不再兼容安卓&#xff0c;同时宣布了“鸿飞计划”&#xff0c;欲与iOS、安卓在市场三分天下&#xff0c;这对中国国产操作系统而言&#xff0c;具有划时代的意义。 最近有不少前端的开发者来咨询鸿蒙开发&#xff0c;今…

通过 Java 操作 redis -- 连接 redis

如果我们想在本地主机上访问 Linux 服务器上的 redis &#xff0c;我们就需要通过 ssh 进行端口转发&#xff0c;推荐看 本地主机访问服务器的Redis -- 配置 ssh 端口转发 通过 Java 操作 redis 已经有大佬创建了很多第三方库&#xff0c;这里我们使用 jedis &#xff0c;因为它…

28-代码随想录18四数之和

18. 四数之和 给你一个由 n 个整数组成的数组 nums &#xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] &#xff08;若两个四元组元素一一对应&#xff0c;则认为两个四元组重复&#xff09;&#xff…

618挑选家用洗地机,需要注意哪些事项?有哪些家用洗地机值得买?

近年来&#xff0c;智能清洁家电越来越受到消费者的欢迎&#xff0c;洗地机作为清洁家电的新宠&#xff0c;凭借其集扫地、拖地、杀菌清洗于一体的强大功能&#xff0c;成为市场上的热销产品。那么&#xff0c;这类洗地机真的好用吗&#xff1f;怎么挑选到好用的家用的洗地机呢…

python中如何遍历字典

1. 遍历字典的键key ① >>> d{list:[1, 2, 3],1:123,111:python3,tuple:(4, 5, 6)} >>> for key in d:print(str(key):str(d[key])) list:[1, 2, 3] 1:123 111:python3 tuple:(4, 5, 6) ② >>> d{list:[1, 2, 3],1:123,111:python3,tuple:(4, 5, 6…

不上班,我靠这5份赚钱副业养活了自己

在这个快节奏的社会里&#xff0c;很多人都在为生活奔波忙碌。今天&#xff0c;就让我来跟大家分享一下我的“躺平”秘籍吧&#xff01; 这一个月来&#xff0c;我没有上班&#xff0c;但好在有副业养活自己。有时候&#xff0c;我真的觉得有一份自己喜欢的自媒体副业挺好的。…

卸载系统自带APP

Firefly RK3588 android 12自动多个系统软件&#xff0c;无法从UI界面进行手动删除。因此&#xff0c;考虑使用shell指令进行处理。 系统自动APP大多都安装在system/app目录下&#xff0c;且该目录多为只读。因此采用如下步骤&#xff0c; //Shell su adb shell su //重新挂载…

字节跳动最新力作:最先进的AI绘画加速技术(之一)

在今天的高速发展的AI领域中&#xff0c;字节跳动的Lightning团队再次引领科技前沿&#xff0c;他们发布了一种革命性的图像处理技术——Hyper-SD图像模型蒸馏算法&#xff0c;甚至能做到实时快速生成图片。这不仅是一次技术的飞跃&#xff0c;更是智能图像处理领域的一次大革新…

Golang Map类型

文章目录 Map介绍Map的定义方式Map的增删查改新增和修改Map元素查找Map元素删除Map元素遍历Map元素 Map元素排序Map切片 Map介绍 Map介绍 在Go中&#xff0c;map是哈希表的引用&#xff0c;是一种key-value数据结构。map类型写作map[K]V&#xff0c;其中K和V分别对应key和value…

vue管理系统导航中添加新的iconfont的图标

1.在官网上将需要的图标&#xff0c;加入项目中&#xff0c;下载 2.下载的压缩包中&#xff0c;可以选择这两个&#xff0c;复制到项目目录中 3.如果和之前的iconfont有重复&#xff0c;那么就重新命名 4.将这里的.ttf文件&#xff0c;也重命名为自己的 5.在main文件中导入 6.在…

精酿啤酒的魅力:啤酒的与众不同风味

啤酒&#xff0c;作为世界上古老的酒精饮品之一&#xff0c;一直以来都以其与众不同的魅力吸引着无数人的味蕾。而精酿啤酒&#xff0c;作为啤酒中的佼佼者之一&#xff0c;更是以其丰富的口感和多样的风格&#xff0c;成为了啤酒爱好者的心头好。在这其中&#xff0c;Fendi cl…

C++ Primer 总结索引 | 第十四章:重载运算与类型转换

1、C语言定义了 大量运算符 以及 内置类型的自动转换规则 当运算符 被用于 类类型的对象时&#xff0c;C语言允许我们 为其指定新的含义&#xff1b;也能自定义类类型之间的转换规则 例&#xff1a;可以通过下述形式输出两个Sales item的和&#xff1a; cout << item1 …

如果insightface/instantID安装失败怎么办(关于InsightFaceLoader_Zho节点的报错)

可能性有很多&#xff0c;但是今天帮朋友解决问题的时候又收集了一种新的思路。 首先&#xff0c;可以先按照这篇文章里边提到的方法去安装&#xff1a; 【全网最详细】ComfyUI下&#xff0c;Insightface安装指南-聚梦小课堂_insightface如何安装-CSDN博客 其次&#xff0c;…

Flutter分模块开发、模块可单独启动、包含Provider

前言 当前案例 Flutter SDK版本&#xff1a;3.13.2 目前Flutter都是在一个项目中&#xff0c;创建不同目录进行模块开发&#xff0c;我进行Android原生开发时&#xff0c;发现原生端&#xff0c;是可以将每个模块独立运行起来的&#xff0c;灵感来自这&#xff1b; 折腾了几…

vue脚手架和vite创建的项目的环境配置

开发环境文件 .env.development NODE_ENV"development" # // 开发接口域名 本地测试就用这个 # vue脚手架创建的 VUE_APP_MODE"开发环境" VUE_APP_API_URL http://19527 # vite创建的 # VITE_MODE"开发环境" # VITE_BASE_URL http://1920:9527…

纯血鸿蒙APP实战开发——折叠屏扫描二维码方案

折叠屏扫描二维码方案 介绍 本示例介绍使用自定义界面扫码能力在折叠屏设备中实现折叠态切换适配。自定义界面扫码使用系统能力customScan&#xff0c;其提供相机流的初始化、启动扫码、识别、停止扫码、释放相机流资源等能力。折叠屏折叠状态通过监听display的foldStatusCha…

中通快递批量查询解决方案,为您的批量物流需求量身定制

在物流行业&#xff0c;随着电子商务的飞速发展和订单量的不断增长&#xff0c;批量查询物流信息已成为许多企业和个人的迫切需求。中通快递作为国内领先的快递服务提供商&#xff0c;深知这一需求的重要性&#xff0c;并为此推出了定制化的中通快递批量查询解决方案&#xff0…

【极速前进】20240423-20240428:Phi-3、fDPO、TextSquare多模态合成数据、遵循准则而不是偏好标签、混合LoRA专家

一、Phi-3技术报告 论文地址&#xff1a;https://arxiv.org/pdf/2404.14219 ​ 发布了phi-3-mini&#xff0c;一个在3.3T token上训练的3.8B模型。在学术基准和内部测试中的效果都优于Mixtral 8*7B和GPT-3.5。此外&#xff0c;还发布了7B和14B模型phi-3-small和phi-3-medium。…