Python学习 day06(类、对象、构造方法、私有方法、继承

news2024/11/15 19:50:41

  • 程序中数据的组织多种多样,如果我们简单用变量来记录,就会混乱、不统一,如下所示:
    在这里插入图片描述
  • 类比现实中的表格,我们可以用类来组织数据,如下:
  • 类的定义和使用
    • 类中的变量叫做成员变量,类中的函数叫做成员方法
    • 写在类外的函数,我们称之为函数,写在类内的函数,我们称之为方法
      在这里插入图片描述
  • 成员方法和普通函数的定义区别:
    在这里插入图片描述
  • self关键字:
    在这里插入图片描述
    • 成员方法的形参列表必须包含self
    • 在成员方法中,要想使用类的成员变量或类的其他成员方法,必须使用self.
    • 在成员方法中,要想使用形参,不用写self.
    • 虽然self写在形参列表里,但是我们在传入参数时,可以不用管它

对象

  • 类相当于现实世界的物体的抽象,类相当于现实世界的某个具体物体
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

构造方法

  • _ _ init _ _ (self):
  • 构造方法跟_ _ main _ _一样,是双下划线
  • 通过构造方法,可以向函数那样,通过传参的方式向对象的属性赋值
    在这里插入图片描述
  • 我们可以不在成员变量位置声明成员变量,转而直接在构造方法中,使用self.来声明成员变量,同时对它进行赋值
  • 注意形参列表和实参列表一一对应

私有方法

  • 私有方法和私有变量无法被类对象使用,但是可以被类内部的成员方法和成员变量使用
    在这里插入图片描述
    在这里插入图片描述

继承

  • 继承不会将父类的私有成员继承过来
  • 单继承
    在这里插入图片描述
  • 多继承
    在这里插入图片描述
    • 注意事项,如果多个父类中有同名成员,那么继承顺序中左边的被保留,右边的被左边覆盖
      在这里插入图片描述
  • pass关键字:
    在这里插入图片描述
    • 如果子类没有任何成员,可以用pass来保证类定义的完整性,表示无内容、空的意思
    • pass是占位语句,也可以用在函数、方法中,同样保证完整性,且表示无内容、空的意思
    • 如果不写pass,那就需要写点东西,不能空着,否则会报语法错误

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

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

相关文章

逆序字符串

逆序字符串 题目描述:解法思路:解法代码:运行结果: 题目描述: 输入⼀个字符串,写⼀个函数将⼀个字符串的内容逆序过来。 测试1: 输⼊:abcdef 输出:fedcba 测试2&#x…

Docsify部署IIS

什么是Docsify? 一个神奇的文档网站生成器。docsify 可以快速帮你生成文档网站。不同于 GitBook、Hexo 的地方是它不会生成静态的 .html 文件,所有转换工作都是在运行时。如果你想要开始使用它,只需要创建一个 index.html 就可以开始编写文档…

Unity游戏项目中的优化之摄像机视锥体剔除优化

在项目中一个完成的游戏场景一般都会有成千上百的物体,假如都去让GPU全部渲染一遍,那带来的消耗其实是挺大的,很多不在摄像机范围内的物体其实没有必要去渲染,尽管GPU自带剔除,但是如果从CPU阶段就提交给GPU指令——哪…

Springboot项目中定时任务的四种实现方式

文章目录 1. 使用Scheduled注解1.1 时间间隔执行1.2 固定时间点执行 2. 使用EnableScheduling注解启用定时任务3. 实现SchedulingConfigurer接口4. 使用Quartz框架4.1 配置QuartzScheduler4.2 定义Job类和Trigger类 5. 总结 在开发现代应用时,定时任务是一个非常常见…

面试问答总结之并发编程

文章目录 🐒个人主页🏅JavaEE系列专栏📖前言:🎀多线程的优点、缺点🐕并发编程的核心问题 :不可见性、乱序性、非原子性🪀不可见性🪀乱序性🪀非原子性&#x1…

spring boot3解决跨域的几种方式

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 1.前言 2.何为跨域 3.跨域问题出现特征 4.方式一:使用 CrossOrigin 注解 5.方式二:自定义…

百度交出2023年业绩答卷:全力提速AI布局,注入业绩增长新动能

2月28日,百度集团(HK:09888、NASDAQ:BIDU,下称“百度”)发布2023年第四季度及全年财报,交出了一份营收与利润双双跃升的答卷,展现出百度在巩固原有业绩护城河的基础上,投入AI大模型后释放出的巨…

零拷贝技术深入分析

一、零拷贝 在前面的文章“深浅拷贝、COW及零拷贝”中对零拷贝进行过分析,但没有举例子,也没有深入进行展开分析。本文将结合实际的例程对零拷贝进行更深入的分析和说明。 在传统的IO操作中,以文件通过网络传输为例 ,一般会经历以…

【星海随笔】存储硬盘基础信息科普

市场上的磁盘分类有:IDE磁盘(多用于PC机)、SATA磁盘、SAS磁盘、SSD磁盘等 IDE 易于使用与价格低廉,问世后成为最为普及的磁盘接口。 速度慢、速度慢、速度慢。 ATA-7是ATA接口的最后一个版本,也叫ATA133。ATA133接口支…

【C++从0到王者】第四十六站:图的深度优先与广度优先

文章目录 一、图的遍历二、广度优先遍历1.思想2.算法实现3.六度好友 三、深度优先遍历1.思想2.代码实现 四、其他问题 一、图的遍历 对于图而言,我们的遍历一般是遍历顶点,而不是边,因为边的遍历是比较简单的,就是邻接矩阵或者邻接…

ChatGPT学习第四周

📖 学习目标 ChatGPT实践操作 通过实际操作和练习,加深对ChatGPT功能的理解。 项目:创建一个ChatGPT应用案例 设计一个基于ChatGPT的小项目,将理论应用于实践。 ✍️ 学习活动 学习资料 《万字干货!ChatGPT 从零完…

地图可视化绘制 | R-ggplot2 NC地图文件可视化

在推出两期数据分享之后,获取数据的小伙伴们也知道,数据格式都是NetCDF(nc) 格式网格数据,虽然我在推文分享中说明使用Python、R或者GIS类软件都是可以进行 处理和可视化绘制的,但是,还是有小伙伴咨询使用编程软件Pyth…

使用labelimg对YOLO数据进行标注

1.打开pycharm软件 2.在终端安装labelimg:pip install labelimg 3.软件启动后的界面如下: 4.标注格式:标注格式选择YOLO 5.点击Open Dir打开需要标注的路径。 6.然后点击Create RectBox,框出需要标注的物体。 7.在下图对话框中…

vue面试:MVVM、MVC、MVP的区别?

vue面试:MVVM、MVC、MVP的区别? MVVM、MVC、MVP是什么?(1)MVC(2)MVVM(3)MVP MVVM、MVC、MVP是什么? MVC、MVP 和 MVVM 是三种常见的软件架构设计模式&#x…

常用sql语句及其优化

文章目录 介绍常用sql语句1. 数据查询1.1 SELECT 语句1.2 DISTINCT 关键字1.3 WHERE 子句1.4 ORDER BY 子句1.5 LIMIT 关键字 2. 数据更新2.1 INSERT INTO 语句2.2 UPDATE 语句2.3 DELETE FROM 语句 3. 数据管理3.1 CREATE TABLE 语句3.2 ALTER TABLE 语句3.3 DROP TABLE 语句 …

gpt-3.5-turbo与星火认知大模型v3.5回答对比

创建kernel // Create a kernel with OpenAI chat completionKernel kernel Kernel.CreateBuilder().AddOpenAIChatCompletion(modelId:"使用的模型id" ,apiKey: "APIKey").Build();使用讯飞星火认知大模型的话,可以参考我这一篇文章&#xff…

qt5-入门-使用拖动方式创建Dialog

参考: C GUI Programming with Qt 4, Second Edition 本地环境: win10专业版,64位,Qt5.12 目录 实现效果基本流程逐步实操1)创建和初始化子部件2)把子部件放进布局中3)设置tab顺序4&#xff09…

十八:Java8新特性

文章目录 01、Java8概述02、Java8新特性的好处03、并行流与串行流04、Lambda表达式4.1、Lambda表达式使用举例4.2、Lambda表达式语法的使用14.3、Lambda表达式语法的使用2 05、函数式(Functional)接口5.1、函数式接口的介绍5.2、Java内置的函数式接口介绍及使用举例 06、方法引…

Nodejs基于vue的个性化服装衣服穿搭搭配系统sprinboot+django+php

本个性化服装搭配系统主要根据用户数据信息,推荐一些适合的搭配穿搭,同时,用户也可自己扫描上传自身衣物以及输入存放位置,搭配后存储到“我的搭配”中,以便下次挑选,既可以节省搭配时间,也方便…

vue3 构建项目

一.使用vite构建: npm init vitelatest 项目名称 构建的项目模板 进入项目 cd 项目名称 安装项目依赖包 npm install 启动项目 npm run dev 二.使用vue脚手架构建: npm init vuelatest 后续基本差不多