Python第十七章(面向对象总结)

一。面向对象三大特征

1.封装:将属性和方法写到类里面,且可以添加私有属性和方法

2.继承:子类默认继承父类的所有属性和方法,子类可以重写父类的属性和方法

3.多态:传入不同的对象,产生不同的结果

二。多态的案例:

定义:多态是一种使用对象的方法,子类重写父类方法,调用不同子类对象的相同父类方法,可以产生不同的结果

三。设置,访问,修改类属性

类属性就是类对象所拥有的属性,它被该类的所有实例属性所拥有

类属性和实例属性的区别:

实例属性要求每个对象为其开辟一块空间,类属性为全类所共有,仅占一份内存,更节省空间

1.类属性可以使用类对象和实例对象进行访问(类名 . 属性名/对象名 . 属性名)

2.修改类属性

进行类修改可以改变类对象的属性值,但通过类对象修改不会更改类的属性,只会改变类的实例属性的值

四。类方法和静态方法

1.类方法的特点:需要用装饰器@classmethod来标识方法为类方法

类方法的使用场景:当方法中需要使用类对象(如访问私有类属性时)定义类方法,类方法一般和类属性配合使用

注释:cls代表某个类

2.静态方法:需要用装饰器@staticmethod来修饰,静态方法不需要传递类对象,也不要传递实例对象

静态方法的使用场景:当方法中不需要使用实例对象(如:实例对象/实例属性),也不需要类对象(类属性/类方法时)进行静态方法的创建(不需要参数的穿传递)

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

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

相关文章

CentOS 7.9如何禁止内核自动更新升级

要在 CentOS 7.9 系统中禁止内核自动更新,你可以通过配置 YUM(Yellowdog Updater, Modified)来实现。这里有几种方法可以阻止内核自动更新: 方法 1: 使用 exclude 选项在 YUM 配置中 编辑 YUM 的配置文件 /etc/yum.conf&#xff…

记一个js原生 日期 时间 处理 格式化 对象 Intl 方法

具体对应搜搜。听说用空格分开能增加关键词搜到的概率 说起来最近好像越来越懒了

【测试运维】性能测试经验文档总结第3篇:VuGen详解(已分享,附代码)

本系列文章md笔记(已分享)主要讨论性能测试相关知识。入门阶段:认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),常用性能测试指标-(吞吐量、并发数、响应时间、点击数...),性能测试工具选择。性能脚本&…

Aster实现一台电脑当两台使——副屏使用独立win账号

前言:笔者每年回家,都面临着想要和小伙伴一起玩游戏,但小伙伴没有电脑/只有低配电脑的问题。与此同时,笔者自身的电脑是高配置的电脑,因此笔者想到,能否在自己的电脑上运行游戏,在小伙伴的电脑上…

Linux基础IO【文件系统】

目录 1.磁盘文件 2.磁盘概念 2.1基本结构 2.2数据存储 3磁盘信息 3.1块组信息 4.文件操作 4.1文件创建 4.2文件访问 4.3对文件增删查改 4.4大文件存储 总结: 1.磁盘文件 在计算机中,没有被打开的文件都是静静的躺在外存(磁盘…

String为什么是不可变的?

原因一、String字符串类型的数据结构 字符串在String类的内部是用一个char[]数组表示的,而这个数组使用final关键字修饰的,所以不能修改。 举例说明: String ip"127.0.0.1"; String retip.replace(".","#"); System.out.…

Robotframework 的简介及其工作原理~

下面通过官网和网上资料来简单介绍下Robotframework及其工作原理。 官方说明: Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It has easy-to-use tabular test data syntax a…

php 数组函数

php 数组函数 1. 常用的php数组函数 1. 常用的php数组函数 array_pop() 删除数组中最后一个元素 array_push() 将一个或多个元素插入到数组的末尾 array_keys <?php $arr array("刘岩" > 30, "范冰冰" > 31, "娜扎" > 31);$…

【C++初阶】新手值得一做vector的oj题

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

<网络安全>《35 网络攻防专业课<第一课 - 网络攻防准备>》

1 主要内容 认识黑客 认识端口 常见术语与命令 网络攻击流程 VMWare虚拟环境靶机搭建 2 认识黑客 2.1 白帽、灰帽和黑帽黑客 白帽黑客是指有能力破坏电脑安全但不具恶意目的黑客。 灰帽黑客是指对于伦理和法律态度不明的黑客。 黑帽黑客经常用于区别于一般&#xff08;正面…

Android稳定性相关知识

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、相关方法论3.1 crash3.2 性能3.3 高…

大模型训练中优化策略(数据并行、模型并行、ZeRO等)

在微调时&#xff0c;模型显存占用主要包括模型参数、参数梯度、优化器和中间结果四个部分。 对于一个 6B 参数量的模型&#xff0c;它的模型参数占用为&#xff1a; 将模型参数视为基准&#xff0c;模型梯度占用量与模型参数相同。 优化器主采用 Adam Optimizer &#xff0c…