python学习-类

news2024/9/29 21:22:39

Python是一门面向对象的编程语言,面向对象编程(Object OrientedProgramming,OOP)是一种编程思想,它把对象作为程序的基本单元,一个对象可以包裹相应的数据以及操作这些数据的函数。一切皆对象,所有的数据类型都可以视为对象

类的基础

使用类(class)的形式自定义对象。使用class关键字来创建一个新的类,class关键字之后紧随着类的名称与该类继承的类(称为父类),最后以冒号结尾。示例代码如下:

创建了名为People的类,People类继承object基类,在Python3.x版本中,所有类都会默认继承object基类.在类中定义的变量通常称为类变量;在类中定义的方法称为类方法,其中第一个参数通常为self,self表示类的实例对象本身。类中的变量以及方法都可以统称为类的属性。

使用类中的代码,首先需要实例化类,然后通过实例对象使用其中的属性.实例化了两个People类的实例变量p1与p2,通过“.”操作符使用类中的属性,非常简单。

如果我们希望在实例化类时传入自定义参数,此时就需要重写__init__方法.

继承与多态

类对象是可以被继承的,通过继承子类可以获取父类的所有属性与功能。

通过继承,Student类不用编写任何代码,就拥有了与People类相同的属性与功能。

子类除可以获取父类的所有属性与功能外,还可以新增自己的功能或修改父类的功能,示例代码如下:

Student类继承了People类,并且重写了People类中的__init__方法与talk方法,通过重写的方式,让两个方法更加符合Student类。

子类中重写的方法会将父类方法中的逻辑完全覆盖。可以基于父类方法中的代码添加新的逻辑,从而不需要全部清空重写。

通过super方法可以调用父类中对应的方法,从而执行父类方法中的逻辑;而子类方法中的新逻辑只需在super方法后添加相应的代码。

通过类继承并修改父类方法获得继承的另一个好处是:多态

利用继承机制,可以创建继承于同一个类的多种不同的子类。

Student类与Teacher类在实例化后的对象依旧是People类,这其实就是多态,子类依旧属于父类,不同的子类造就了多态。

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

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

相关文章

vscode-server安装和部分配置

文章目录 前言code-server安装rpm包安装tar.gz安装 vscode部分配置vscode配置函数跳转安装插件 vscode的structurevscode的hierarchy更改颜色主题 前言 vscode确实彳亍,虽然我觉得Clion(c/c语言版的IDEA)更方便,但是毕竟我没钱买license 这里记录一下网…

【Numpy】np.loadtxt 读取单行数据时报错。(零维数组)

np.loadtxt 读取单行数据时遇到了报错 代码: import numpy as nplabelPath"./name.names" names np.loadtxt(labelPath, dtypestr)print(names[0])names中的数据: 报错: IndexError: too many indices for array: array is 0-…

标准立项 | 深度脱氨生物填料选型指南

编制单位:北京科净源科技股份有限公司、中国地质大学(北京)、中华环保联合会水环境治理专业委员会、清华大学、北京师范大学、中国环境科学研究院、清华大学、天津高端装备研究院、中车环境科技有限公司、云南滇池水务股份有限公司等。

arm环境安装达梦数据库

作者:振鹭 一、安装前准备 1、创建用户和用户组 groupadd dinstall useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba2、修改文件打开最大数 vi /etc/security/limits.conf #文件末尾添加以下四行 dmdba hard nofile 65536 dmdba soft nofile 65536 d…

图片批量重命名bat,一个脚本快速搞定图片批量重命名

BAT 批处理 是一种在 Microsoft Windows 操作系统中使用的脚本语言,用于自动执行一系列预定义的命令或任务。这些命令集合通常存储在一个文本文件中,文件扩展名为 .bat 或 .cmd。批处理脚本可以包含简单的命令,如文件复制、移动、删除&#x…

OpenShift3.11 社区版搭建

一、资源规划 HostnameIPOSCPUMemDiskmaster192.168.78.131CentOS7.92vCPU4G60Gnode1192.168.78.132CentOS7.92vCPU4G60Gnode2192.168.78.133CentOS7.92vCPU4G60G 二、安装过程: 2.1 前期配置 开启所有节点的 SELinux (所有主机执行) gr…

30斤的东西寄什么快递便宜?寄大货物品用哪家快递公司?

作为一个大学生,搬迁宿舍、放假回家时,总有一些物品需要寄送。对于30斤左右的物品来说,选择合适的快递公司和打包方式可以大大节省费用。今天,我就来给大家分享一些省钱寄快递的方法和技巧,希望能帮到你们。云木寄快递…

【独家揭秘】视频号矩阵系统火爆上线,一键式多平台管理,你的内容营销神器!

在信息爆炸的时代,内容创作者们面临着前所未有的挑战与机遇。如何让自己的内容在众多平台中脱颖而出,快速传播并吸引大量观众,成为了每个创作者关注的焦点。近日,一款名为“迅狐视频号矩阵系统”的神器震撼来袭,它以其…

SpringBoot开发实用篇(三)

一:任务 1:SpringBoot整合Quartz 导入SpringBoot整合quartz的坐标定义具体要执行的任务,继承QuartzJobBean定义工作明细和触发器,并绑定对应关系 2:SpringBoot整合task 开启定时任务功能设置定时执行的任务&#x…

关于《中国PostgreSQL考试认证体系》通知

为响应国家大数据战略发展的号召,进一步推动PostgreSQL开源数据库在国内的快速发展,加强PostgreSQL 数据库相关人才培养,由政府相关部门批准发起,组成中国PostgreSQL认证考试中心及PostgreSQL 中国大学,旨在共同规范和…

滥用云服务进行传播的恶意软件越来越多

由于云服务提供了传统方式所不具备的可扩展性、匿名性和容错性,攻击者越来越多地开始利用云服务来存储、分发和建立 C&C 信道,例如 VCRUM 存储在 AWS 上或 SYK Cryptor 通过 DriveHQ 进行分发。 过去的一个月内,研究人员一直在监控使用这…

Transformer常见问题

1.位置编码有哪些? a. 正弦和余弦位置编码(Sinusoidal Positional Encoding) 原理:使用固定的正弦和余弦函数来生成位置编码。 b.学习位置编码(Learnable Positional Encoding) 原理:将位置编…

React+TS前台项目实战(二十八)-- 首页响应式构建之剩余模块布局

文章目录 前言BlockList区块1. 完整页面效果展示2. 功能分析3. 代码详细注释4. 使用方式 TranctionList交易模块总结 前言 今天,我们继续完善首页剩余模块的响应式布局交互。通过关注点分离的方法,逐步切割模块至最小单元,并结合React的hook…

中职大数据实训室

一、中职大数据实训室建设背景 《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》中强调了数字化转型的重要性,明确提出了建设数字中国的战略目标。大数据技术作为数字化转型的核心,对于培养具备大数据分析、处理和应用能力的…

K8s GPU 资源管理探索:在 KubeSphere 上部署 AI 大模型 Ollama

作者:运维有术星主 随着人工智能、机器学习、AI 大模型技术的迅猛发展,我们对计算资源的需求也在不断攀升。特别是对于需要处理大规模数据和复杂算法的 AI 大模型,GPU 资源的使用变得至关重要。对于运维工程师而言,掌握如何在 Kub…

人工智能和机器学习 (复旦大学计算机科学与技术实践工作站)20240703(上午场)人工智能初步、mind+人脸识别

前言 在这个科技日新月异的时代,人工智能(AI)已经逐渐渗透到我们生活的方方面面,从智能家居到自动驾驶,无一不彰显着AI的强大潜力。而人脸识别技术作为AI领域的一项重要应用,更是以其高效、便捷的特点受到了…

[C++初阶]list类的初步理解

一、标准库的list类 list的底层是一个带哨兵位的双向循环链表结构 对比forward_list的单链表结构,list的迭代器是一个双向迭代器 与vector等顺序结构的容器相比,list在任意位置进行插入删除的效率更好,但是不支持任意位置的随机访问 list是一…

最新Wireshark查看包中gzip内容

虽然是很简单的事情,但是网上查到的查看gzip内容的方法基本都是保存成zip文件,然后进行二进制处理。 其实现在最新版本的Wireshark已经支持获取gzip内容了。 选中HTTP协议,右键选择[追踪流]->[HTTP Stream] 在弹出窗口中,已…

图像分割SAM辅助标注工具,可调用SAM等大模型(保姆级教程)

SAM等模型通过先进的深度学习技术,实现了高效、精准的图像自动化标注。这不仅显著降低了人工标注的工作量和成本,提高了标注效率和精度,还为各个领域的研究和应用提供了强大的技术支持。随着SAM等模型的不断完善和应用,自动化标注…