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

类和对象-Python-第一部分

初识对象

使用对象组织数据

class Student:name=Nonegender=Nonenationality=Nonenative_place=Noneage=Nonestu_1=Student()stu_1.name="林军杰"
stu_1.gender="男"
stu_1.nationality="中国"
stu_1.native_place="山东"
stu_1.age=31print(stu_1.name)
print(stu_1.gender)
print(stu_1.nationality)
print(stu_1.native_place)
print(stu_1.age)

类的成员方法

类的定义和使用

类的方法

成员方法的定义语法

成员变量和成员方法

注意事项

类和对象

基于类创建对象

class Clock:id=Noneprice=Nonedef ring(self):import winsoundwinsound.Beep(2000,3000)#2000是响铃频率,3000是响铃时间clock1=Clock()
clock1.id="003032"
clock1.price=19.19
print(f"闹钟ID:{clock1.id},价格:{clock1.price}")
clock1.ring()clock2=Clock()
clock2.id="003033"
clock2.price=21.99
print(f"闹钟ID:{clock2.id},价格:{clock2.price}")
clock2.ring()

构造方法 

class Student:name=Noneage=Nonetel=Nonedef __init__(self,name,age,tel):self.name=nameself.age=ageself.tel=telprint("Student类创建了一个类对象")stu=Student("周杰轮",31,1850000666)
print(stu.name)
print(stu.age)
print(stu.tel)

注意方法

学生信息录入

class Student:def __init__(self,name,age,address):self.name=nameself.age=ageself.address=addressfor i in range(1,11):Name=input("输入学生姓名")Age=input("输入学生年龄")Address=input("输入学生住址")stu =Student(Name,Age,Address)print(f"学生{i}信息录入完成,信息为:{stu.name},{stu.age},{stu.address}")

魔术方法

__str__字符串

__le__小于等于比较符号方法

__eq__,比较运算符实现方法

class Student:def __init__(self,name,age):self.name=nameself.age=age# __str__魔术方法      #当需要把类的对象变成字符串使用def __str__(self):return f"Student类对象,name:{self.name},age:{self.age}"#  __lt__魔术方法def __lt__(self, other):return self.age<other.age#__le__魔术方法def __le__(self, other):return self.age <= other.age#__eq__魔术方法def __eq__(self, other):return self.age == other.agestu1=Student("周杰轮",31)
stu2=Student("林俊节",36)
print(stu1)
#输出的是内存地址print(stu1<stu2)#  __lt__魔术方法
print(stu1>stu2)print(stu1 <= stu2)  # 使用 __le__ 方法
print(stu1 >= stu2)print(stu1 == stu2)  # 使用 __eq__ 方法

魔术方法的总结

注:面相对象三大特性:封装,继承,多态

封装

私有成员

使用私有成员

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.__keep_single_core()
#print(Phone.__keep_single_core())  wrong
Phone.call_by_5g()

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

封装的课后习题

class Phone:__is_5g_enable=Falsedef __check_5g(self):if self.__is_5g_enable:print("5g开启")else:print("5g关闭,使用4g网络")def call_by_5g(self):self.__check_5g()print("正在通话中")phone=Phone()
phone.call_by_5g()

继承的基础语法

单继承

多继承

多继承注意事项

注:pass关键字,pass是占位语句,用来保证函数或类定义的完整性,表示无内容,空的意思

#演示单继承
class Phone:IMEI=None   #序号producer="ITCast"   #厂商def call_by_4g(self):print("4g通话")class Phone_2022(Phone):face_id="10001" #面部识别IDdef call_by_5g(self):print("2024年新功能,5g通话")phone=Phone_2022()
print(Phone.producer)
phone.call_by_4g()
phone.call_by_5g()#演示多继承
class NFCReader:nfc_type="第五代"producer="HM"def read_card(self):print("NFC读卡")def write_card(self):print("NFC写卡")class RemoteControl:rc_type="红外遥控"def control(self):print("红外遥控开启了")class MyPhone(Phone,NFCReader,RemoteControl):passphone=MyPhone()
phone.call_by_4g()
phone.read_card()
phone.write_card()
phone.control()
print(phone.producer)
#演示多继承下,父类成员名一致的场景

复写父类成员和调用

复写

调用父类同名成员

#演示单继承
class Phone:IMEI=None   #序号producer="ITCast"   #厂商def call_by_5g(self):print("使用5g网络进行通话通话")#演示多继承下,父类成员名一致的场景
class MyPhone(Phone):producer="ITHEIMA"def call_by_5g(self):print("开启CPU单核模式,确保通话时省电")#方式1# print(f"父类的厂商是{Phone.producer}")# Phone.call_by_5g(self)#方式2print(f"父类的厂商是:{super().producer}")super().call_by_5g()print("使用5g网络进行通话")print("关闭CPU单核运行模式,确保性能")phone=MyPhone()
phone.call_by_5g()
print(phone.producer)

 若有侵权,请联系作者

相关文章:

类和对象-Python-第一部分

初识对象 使用对象组织数据 class Student:nameNonegenderNonenationalityNonenative_placeNoneageNonestu_1Student()stu_1.name"林军杰" stu_1.gender"男" stu_1.nationality"中国" stu_1.native_place"山东" stu_1.age31print(stu…...

Pytorch实现图片异常检测

图片异常检测 异常检测指的是在正常的图片中找到异常的数据&#xff0c;由于无法通过规则进行识别判断&#xff0c;这样的应用场景通常都是需要人工进行识别&#xff0c;比如残次品的识别&#xff0c;图片异常识别模型的目标是可以代替或者辅助人工进行识别异常图片。 AnoGAN…...

【NOI-题解】1586. 扫地机器人1430 - 迷宫出口1434. 数池塘(四方向)1435. 数池塘(八方向)

文章目录 一、前言二、问题问题&#xff1a;1586 - 扫地机器人问题&#xff1a;1430 - 迷宫出口问题&#xff1a;1434. 数池塘&#xff08;四方向&#xff09;问题&#xff1a;1435. 数池塘&#xff08;八方向&#xff09; 三、感谢 一、前言 本章节主要对深搜基础题目进行讲解…...

探究MySQL行格式:解析DYNAMIC与COMPACT的异同

在MySQL中&#xff0c;行格式对于数据存储和检索起着至关重要的作用。MySQL提供了多种行格式&#xff0c;其中DYNAMIC和COMPACT是两种常见的行格式。 本文将深入探讨MySQL行格式DYNAMIC和COMPACT的区别&#xff0c;帮助读者更好地理解它们的特点和适用场景。 1. MySQL行格式简…...

MATLAB绘制蒸汽压力和温度曲线

蒸汽压力与温度之间的具体关系公式一般采用安托因方程&#xff08;Antoine Equation&#xff09;&#xff0c;用于描述纯物质的蒸汽压与温度之间的关系。安托因方程的一般形式如下&#xff1a; [\log_{10} P A - \frac{B}{C T}] 其中&#xff0c; (P) 是蒸汽压&#xff08…...

repo跟git的关系

关于repo 大都讲的太复杂了,大多是从定义角度跟命令角度去讲解,其实从现实项目使用角度而言repo很好理解. 我们都知道git是用来管理项目的,多人开发过程中git功能很好用.现在我们知道一个项目会用一个git仓库去管理,项目的开发过程中会使用git创建分支之类的来更好的维护项目代…...

Mysql 8.0 -- 最新版本安装(保姆级教程)

Mysql 8.0 -- 最新版本安装&#xff08;保姆级教程&#xff09; ​​ 一&#xff0c;下载Mysql数据库&#xff1a; 官网链接&#xff1a;https://www.mysql.com/downloads/ 二&#xff0c;安装Mysql: 三&#xff0c;找到Mysql安装目录&#xff1a; 找到mysql安装目录&#xf…...

sql优化思路

sql的优化经验 这里解释一下SQL语句的优化的原理 1.指明字段名称&#xff0c;可以尽量使用覆盖索引&#xff0c;避免回表查询&#xff0c;因此可以提高效率 2.字面意思&#xff0c;无需过多赘述。索引就是为了提高查询效率的。 3.图中两条sql直接可以使用union all 或者 uni…...

gin学习1-7

package mainimport ("github.com/gin-gonic/gin""net/http" )// 响应json还有其他响应差不多可以去学 func _string(c *gin.Context) {c.String(http.StatusOK, "lalal") } func _json(c *gin.Context) {//json响应结构体type UsetInfo struct …...

likeshop多商户单商户商城_likeshop跑腿源码_likeshop物品租赁系统开源版怎么配置小程序对接?

本人是商业用户所以能持续得到最新商业版&#xff0c;今天我说下likeshop里面怎么打包小程序&#xff0c;大家得到程序时候会发现它有admin目录 app目录 server目录 这三个目录分别是做什么呢&#xff1f; 1.admin目录 下面都是架构文件使用得是Node.js打包得&#xff0c;至于…...

(done) LSTM 详解 (包括它为什么能缓解梯度消失)

RNN 参考视频&#xff1a;https://www.bilibili.com/video/BV1e5411K7oW/?p2&spm_id_frompageDriver&vd_source7a1a0bc74158c6993c7355c5490fc600 LSTM 参考视频&#xff1a;https://www.bilibili.com/video/BV1qM4y1M7Nv?p5&vd_source7a1a0bc74158c6993c7355c5…...

springboot使用研究

map-underscore-to-camel-case: true 开启驼峰命名 GetMapping("/userInfo")public Result<Users> userInfo(RequestHeader(name "Authorization") String token,HttpServletResponse response) {Map<String, Object> map JwtUtil.parseT…...

老旧房屋用电线路故障引起的电气火灾预防对策​

摘 要&#xff1a;在我国新农村建设方针指引下&#xff0c;农村地区的发展水平有了显著提高。在农村经济发展中&#xff0c;我们也要认识到其中存在的风险隐患问题&#xff0c;其中重要的就是火灾事故。火灾事故给农村发展带来的不利影响&#xff0c;不仅严重威胁到农村群众的生…...

OpenAI发布GPT-4.0使用指南

大家好&#xff0c;ChatGPT 自诞生以来&#xff0c;凭借划时代的创新&#xff0c;被无数人一举送上生成式 AI 的神坛。在使用时&#xff0c;总是期望它能准确理解我们的意图&#xff0c;却时常发现其回答或创作并非百分之百贴合期待。这种落差可能源于我们对于模型性能的过高期…...

【WEEK11】学习目标及总结【Spring Boot】【中文版】

学习目标&#xff1a; 学习SpringBoot 学习内容&#xff1a; 参考视频教程【狂神说Java】SpringBoot最新教程IDEA版通俗易懂员工管理系统 页面国际化登录功能展示员工列表增加员工修改员工信息删除及404处理 学习时间及产出&#xff1a; 第十一周MON~SAT 2024.5.6【WEEK11】…...

Unity 性能优化之图片优化(八)

提示&#xff1a;仅供参考&#xff0c;有误之处&#xff0c;麻烦大佬指出&#xff0c;不胜感激&#xff01; 文章目录 前言一、可以提前和美术商量的事1.避免内存浪费&#xff08;UI图片&#xff0c;不是贴图&#xff09;2.提升图片性能 二、图片优化1.图片Max Size修改&#x…...

C++类细节,面试题02

文章目录 2. 虚函数vs纯虚函数3. 重写vs重载vs隐藏3.1. 为什么C可以重载&#xff1f; 4. 类变量vs实例变量5. 类方法及其特点6. 空类vs空结构体6.1. 八个默认函数&#xff1a;6.2. 为什么空类占用1字节 7. const作用7.1 指针常量vs常量指针vs常量指针常量 8. 接口vs抽象类9. 浅…...

Stylus的引入

Stylus是一个CSS预处理器&#xff0c;它允许开发者使用更高级的语法来编写CSS&#xff0c;并提供了一些额外的功能来简化和增强CSS的编写过程。以下是关于Stylus的详解和引入方法的详细介绍&#xff1a; 一、Stylus的详解 特点和功能&#xff1a; 变量&#xff1a;允许你定义…...

前端框架-echarts

Echarts 项目中要使用到echarts框架&#xff0c;从零开始在csdn上记笔记。 这是一个基础的代码&#xff0c;小白入门看一下 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" co…...

【StarRocks系列】 Trino 方言支持

我们在之前的文章中&#xff0c;介绍了 Doris 官方提供的两种方言转换工具&#xff0c;分别是 sql convertor 和方言 plugin。StarRocks 目前同样也提供了类似的方言转换功能。本文我们就一起来看一下这个功能的实现与 Doris 相比有何不同。 一、Trino 方言验证 我们可以通过…...

【2024最新华为OD-C卷试题汇总】URL拼接 (100分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; 文章目录 前…...

【ARM 嵌入式 C 字符串系列 23.7 -- C 实现函数 isdigit 和 isxdigit】

请阅读【嵌入式开发学习必备专栏 】 文章目录 isdigit 和 isxdigit C代码实现实现 isdigit实现 isxdigit使用示例 isdigit 和 isxdigit C代码实现 在C语言中&#xff0c;isdigit和isxdigit函数用于检查一个字符是否分别为十进制数字或十六进制数字。以下是这两个函数的简单实现…...

三分钟了解计算机网络核心概念-数据链路层和物理层

计算机网络数据链路层和物理层 节点&#xff1a;一般指链路层协议中的设备。 链路&#xff1a;一般把沿着通信路径连接相邻节点的通信信道称为链路。 MAC 协议&#xff1a;媒体访问控制协议&#xff0c;它规定了帧在链路上传输的规则。 奇偶校验位&#xff1a;一种差错检测方…...

数据结构===堆

文章目录 概要堆2条件大顶堆小顶堆 堆的实现插入元素删除堆顶元素 堆代码小结 概要 堆&#xff0c;有趣的数据结构。 那么&#xff0c;如何实现一个堆呢&#xff1f; 堆 堆&#xff0c;有哪些重点&#xff1a; 满足2条件大顶堆小顶堆 2条件 2条件&#xff1a; 堆是一个…...

AAA、RADIUS、TACACS、Diameter协议介绍

准备软考高级时碰到的一个概念&#xff0c;于是搜集网络资源整理得出此文。 概述 AAA是Authentication、Authorization、Accounting的缩写简称&#xff0c;即认证、授权、记帐。Cisco开发的一个提供网络安全的系统。AAA协议决定哪些用户能够访问服务&#xff0c;以及用户能够…...

Nacos高频面试题及参考答案(2万字长文)

目录 Nacos是什么?它的主要功能有哪些? Nacos在微服务架构中扮演什么角色?...

CMakeLists.txt语法规则:条件判断中表达式说明四

一. 简介 前面学习了 CMakeLists.txt语法中的 部分常用命令&#xff0c;常量变量&#xff0c;双引号的使用。 前面几篇文章也简单了解了 CMakeLists.txt语法中的条件判断&#xff0c;文章如下&#xff1a; CMakeLists.txt语法规则&#xff1a;条件判断说明一-CSDN博客 CMa…...

Hive概述

Hive简介 Hive是一个基于Hadoop的开源数据仓库工具,用于存储和处理海量结构化数据. 它是Facebook在2008年8月开源的一个数据仓库框架,提供了类似于SQL语法的HQL(HiveSQL)语句作为数据访问接口. Hive可以做复查统计分析之类的工作; 利用hdfs的存储空间,进行结构化数据的存储; 利…...

buuctf-misc-33.[BJDCTF2020]藏藏藏1

33.[BJDCTF2020]藏藏藏1 题目&#xff1a;藏了很多层&#xff0c;一层一层的剥开 常规思路&#xff0c;先使用010打开一下看看 binwalk不行用foremost 发现是pk文件也就是压缩包&#xff0c;并且包含了docx文件 这不binwalk分离一下文件&#xff1f;虽然可以看出有隐藏文件&…...

golang 基础知识细节回顾

之前学习golang的速度过于快&#xff0c;部分内容有点囫囵吞枣的感觉&#xff0c;写gorm过程中有很多违反我常识的地方&#xff0c;我通过复习去修正了我之前认知错误和遗漏的地方。 itoa itoa自增的作用在编辑error code时候作用很大&#xff0c;之前编辑springboot的error c…...

wordpress 按装/欧洲站fba

说明&#xff1a; 确保ASG设备L3VE业务接口与DHCP server之间路由相通。 ETH业务VLAN与IP网段为1:1时&#xff0c;DHCP relay配置如下&#xff1a; interface Virtual-Ethernet2/0/1.10ip relay address 15.152.157.2//指定DHCP sever地址dhcp select relay//配置DHCP中继功能…...

windows7做网站/头条站长平台

就是d叉堆&#xff0c;是二叉堆的简单推广(http://blog.csdn.net/buleriver/article/details/38469907) 对于一个d堆。也是能够使用数组表示。关键是怎样通过索引&#xff0c;查找到其父节点和孩子节点&#xff0c;公式例如以下&#xff1a; child(i, j)d * (i - 1) 2 j&…...

怎么做好网站开发_设计/最新的国际新闻

flash的意思vt.& vi. 使闪光&#xff0c;使闪烁,拍出&#xff0c;发出(电报等),〈口〉炫耀n. 闪光,闪光灯下摄成的照片,一瞬间,浮华adj. 闪光的&#xff0c;闪耀的&#xff0c;一闪而过的,浮华的,庞大的变形&#xff1a;过去式: flashed&#xff1b; 现在分词&#xff1a;f…...

网站pv多少可以/seo优化主要做什么

1.语句结束的 " ; ” &#xff0c; 输入成了 " : "。2.函数 functionName ( para,para,,) 多余" , "。3."{ } " 不匹配问题。4. 正则表达式变量语法错误问题。 /xxxxxxxxx/ 转载于:https://www.cnblogs.com/norsd/archiv…...

贵阳金阳网站建设公司/上海百度竞价

WebStorm创建的Express项目解决跨域问题&#xff08;cors方式&#xff09;1 同源策略1.1 同源&#xff08;origin&#xff09;2.2 同源策略2 跨域2.1 跨域3 跨域问题解决方案3.1 jsonp3.2 cors&#xff08;主要说明&#xff09;3.3 反向代理1 同源策略 1.1 同源&#xff08;or…...

茶叶网站规划/seo和网络推广有什么区别

Ext学习系列(8)-- Ext.data.JsonReader (2010-03-23 10:54:36) 转载▼标签&#xff1a; ext jsonreader 杂谈 分类&#xff1a; EXT 在JavaScript中&#xff0c;JSON是一种非常重要的数据格式&#xff0c;key:value的形式比XML那种复杂的标签结构更容易理解&#xff…...