【OOP】Python的OOP编程笔记
1.类变量和实例变量
-
类变量:变量属于类,在对象中是共用的。访问方式为
类名.变量名
,或对象名.__class__.变量名
-
实例变量:定义在方法中的变量,属于具体对象。访问方式为
对象名.变量名
类变量访问方式
class Car:# num 属于类变量num = 0# brand, version属于实例变量def __init__(self, brand, version):self.brand = brandself.version = versionself.__class__.num += 1c1 = Car('audi','A6')
c2 = Car('mercedes','E300')print(Car.num)
print(c2.__class__.num)
2.类方法
属于类的方法。参数不使用self
,使用cls
。方法前会加上@classmethod
修饰符
类变量访问方式
class Car:num = 0def __init__(self, brand, version):self.brand = brandself.version = versionself.__class__.num += 1# 定义类方法@classmethoddef get_total(cls):print(cls.number)c1 = Car('audi','A6')
c2 = Car('mercedes','E300')# 调用类方法
Car.total()
3.类的私有属性和私有方法
私有属性和私有方法在类的外部不能被直接访问。
类变量访问方式
class Car:def __init__(self, brand, version):self.brand = brand# 定义私有属性self.__version = version# 定义方法def get_version(self):print(self.__version)# 定义私有方法def __get_version_2(self):print(self.__version)c1 = Car('audi','A6')
c2 = Car('mercedes','E300')# 访问私有属性报错
>>> c1.__version
# 通过类的方法可以访问私有属性
>>> c1.get_version()
A6
# 访问私有方法报错
c1.__get_version_2()
4.@property装饰器
用该装饰器将方法装饰成属性方法,可以以访问属性的方式访问。
类变量访问方式
class Car:def __init__(self, brand, version):self.brand = brand# 定义私有属性self.__version = version# 定义方法def get_version(self):print(self.__version)# 用该装饰器将方法装饰成属性方法,可以以访问属性的方式访问@propertydef version_2(self):print(self.__version)c1 = Car('audi','A6')
c2 = Car('mercedes','E300')# 访问属性方法
>>> c1.version_2
version: A6
5.super()关键字
在子类创建过程中,super()
相当于调用父类的方法,且不用在方法中写入self
变量。
类变量访问方式
# 父类Car
class Car:def __init__(self, brand, version):self.brand = brandself.__version = version# 子类Truck
class Truck(Car):def __init__(self, brand, version, category):super().__init__(brand, version)self.category = category
6.静态变量和静态方法
- 1中的类变量一般就是静态变量。
- 静态方法是通过
@staticmethod
装饰器将方法声明为静态方法,无法使用cls和self参数访问类或实例的变量
相关文章:
【OOP】Python的OOP编程笔记
1.类变量和实例变量 类变量:变量属于类,在对象中是共用的。访问方式为类名.变量名,或对象名.__class__.变量名 实例变量:定义在方法中的变量,属于具体对象。访问方式为对象名.变量名 类变量访问方式 class Car:# nu…...

一进一出模拟量信号隔离变送器
一进一出模拟量信号隔离变送器 捷晟达科技推出一进一出模拟量信号隔离变送器 深圳捷晟达科技推出一款具有隔离,放大,转换保护功能的一进一出的小型隔离变送器设备,该设备可以把模拟量(4-20mA/0-10V等)标准信号转换用户需要的信号,该产品具有抗EMC干扰,可以有效的保护后级设备安…...

Mybatis-plus原生pages分页未生效的解决方案
文章目录 前言原因1、Mybatis Plus版本的问题2、Mapper.xml文件中SQL语句格式问题3、Mybatis Plus默认分页拦截器问题4、分页参数传参问题5、分页配置的问题 解决方案1、升级对应的Mybatis-plus版本分页插件配置问题3、自定义分页拦截器4、正确的参数5、不同版本的配置文件3.4.…...

【linux】-centos7版本前后-变化篇
1.centos7版本前后区别 首先文件系统变化,由EXT4,变为XFS格式。可支持容量500TB的文件,而6代仅能支持16TB。首个进程变为systemd, 替换了熟悉的init进程。它的特点是功能强大,体积也很强大。 systemd给我们带来了一个全家桶命令&…...

001集—shapefile(.shp)格式详解——arcgis
一、什么是shapefile Shapefile 是一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式。shapefile 中的地理要素可通过点、线或面(区域)来表示。包含 shapefile 的工作空间还可以包含 dBASE 表,它们用于存储可连接到 shapefile 的要…...
ssrf服务器请求伪造漏洞(个人学习)
SSRF前置学习须了解net工作原理 计算机网络 网络地址转换NAT_内部本地地址-CSDN博客 可以看这个来了解 SSRF 攻击的目标:从外网无法访问的内部网络 形成原因:大部分服务器提供了从外部应用获取数据的功能,但是对目标地址没有做过滤和限制…...

【前端web入门第二天】03 表单-下拉菜单 文本域 label标签 按钮 【附注册信息综合案例】
文章目录: 1. 下拉菜单 2. 文本域3.label标签 4.按钮- button 4.1 reset重置按钮结合form表单区域使用 5.无语义的布局标签 6.字符实体 注册信息综合案例 表单第二节 1. 下拉菜单 标签: select嵌套option,select是下拉菜单整体,option是下拉菜单的每一项。 代码…...
回响科技二面面试题解答
面试题 1、你们的数仓中DWD层为什么要划分数据域?划分数据域之后会对ADS层造成什么影响?是可以提效还是可扩展性强?你们是如何考虑的呢? 2、AZkaban和dolphinScheduler的区别是什么?如果选型会从哪几个方面来考虑呢&a…...

node学习过程中的终端命令
冷的哥们手真tm冷,打字都是僵的,屮 目录 一、在学习nodejs过程中用到的终端命令总结 一、在学习nodejs过程中用到的终端命令 node -v nvm install 20.11.0 nvm list nvm list available nvm on nvm -v nvm use 20.11.0 node加要运行的js文件路径 ps&a…...
oracle版本号中的i,G,C代表什么含义
大家都熟悉的 Oracle 版本号有 9i、10G、11G、12C、19C 等,但在早期,Oracle 的版本号并不包含这些字母。 最初,Oracle 的版本号简单地是 1、2、3、4 等,一直发展到 1999 年发布的 8i 版本。20 世纪末是互联网爆发式发展的时代。 …...
Unity2D_角色移动跳跃
水平移动 Rigidbody2D 使用Unity自带的刚体组件,通过修改刚体物品中Rigidbody2D的属性velocity速度来实现物体移动 声明Rigidbody2D属性,以及角色移动速度 public float playerSpeed 5f; private Rigidbody2D rigidbody2D;在Start方法中将rigidbody2D…...
23-GPTs Actions详细解析:如何查找、对接API,及如何编写Schema
目录 1. 挖掘一个API接口,并将其对接到GPTs中1.1 如何寻找API1.2 把API对接到Schema中1.3 Schema中的参数结构本节详细介绍GPTs Actions 中的Schema。如何写、它里面的结构是什么、里面参数的含义。 后续使用GPTs过程中,如何找到自己想要的API,以及如何把找到的API对接到GPT…...
微信小程序canvas画布实现椭圆元素自由缩放、移动功能
目录 实现效果 编辑 一、获取画布信息并绘制背景 二、绘制椭圆...
使用Excel计算--任务完成总工作日时长
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 引言 计算任务完成时间周期,和计算金钱一样,是一个比较细致严谨的工作。 通常,我们可能以为,完成周期形如: 任务完成周期 任务结束时间 - 任务开始时间 但是…...

JavaWeb后端登录校验功能(JWT令牌技术,Cookie技术,Session,拦截技术,过滤器)
目录 一.登录校验功能(解决直接通过路径访问) 1.实现思路 二.会话技术 编辑 1.Cookie技术 2.Session 3.令牌技术 1.简介 2.如何生成和解析 3.令牌的使用 三.Filter过滤器 1.什么是过滤器 2.实现步骤: 3.过滤器执行流程 4.拦截路径 5.过…...
7-上传下载
上传下载 首先创建一张上传文件的表,例如: drop table if exists sys_file_info; create table sys_file_info (file_id int(11) not null auto_increment comment 文件id,file_name varchar(50) default …...

数字图像处理(实践篇)三十六 OpenCV-Python 使用ORB和BFmatcher对两个输入图像的关键点进行匹配实践
目录 一 涉及的函数 二 实践 ORB(Oriented FAST and Rotated BRIEF)是一种特征点检测和描述算法,它结合了FAST关键点检测和BRIEF描述子。ORB算法具有以下优势: ①实时性:能够在实时应用中进行快速的特征点检测和描述。 ②...

算法每日一题: 边权重均等查询 | 公共子祖先
大家好,我是星恒,今天给大家带来的是一道图里面有关公共子祖先的题目,理解起来简单,大家 题目:leetcode 2846 现有一棵由 n 个节点组成的无向树,节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n …...
使用JavaScript和XLSX.js将数据导出为Excel文件
目录 一、安装XLSX.js二、将数据转换为Excel文件 导出数据是Web应用程序中常见的功能之一。在许多情况下,我们需要将数据导出为Excel文件,以便用户可以在本地计算机上查看和编辑数据。在本篇博客中,我们将介绍如何使用JavaScript和XLSX.js将数…...

如何使用YOLOv8训练自己的模型
本文介绍如何用YOLO8训练自己的模型,我们开门见山,直接步入正题。 前言:用yolo8在自己的数据集上训练模型首先需要配置好YOLO8的环境,如果不会配置YOLO8环境可以参考本人主页的另一篇文章 提醒:使用GPU训练会大幅度加…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...

【51单片机】4. 模块化编程与LCD1602Debug
1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...

【java面试】微服务篇
【java面试】微服务篇 一、总体框架二、Springcloud(一)Springcloud五大组件(二)服务注册和发现1、Eureka2、Nacos (三)负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...

智警杯备赛--excel模块
数据透视与图表制作 创建步骤 创建 1.在Excel的插入或者数据标签页下找到数据透视表的按钮 2.将数据放进“请选择单元格区域“中,点击确定 这是最终结果,但是由于环境启不了,这里用的是自己的excel,真实的环境中的excel根据实训…...