Python:类方法、实例方法与静态方法深度解析(补)
目录
一.实例变量
二.类变量
三.实例方法
四.类方法
五.静态方法
六.小结
总结
今天看程序时,发现自己好像忘了这三者的区别,所以重新写了一篇深度解析,希望之前看博客没看懂的小伙伴可以通过这个博客分清楚这三个方法。跟的是麦叔的课,不是自己的代码!
在 Python 的面向对象编程世界里,类方法、实例方法和静态方法犹如三把独特的钥匙,各自开启着不同功能与逻辑的大门。深入理解它们之间的区别与联系,对于构建高效、可读且易于维护的代码体系有着举足轻重的意义。
一.实例变量
实例变量是隶属于类的每个实例对象的独特属性。它们在实例化过程中被初始化,并且每个实例都拥有自己独立的一份副本。这意味着不同实例的同名实例变量可以存储不同的值,彼此之间互不干扰。
以Dog类为例,name,color和weight就是典型的实例变量:
class Dog:# name,color……->实例变量,每一条具体的狗都有def __init__(self, name, color, weight):self.name = nameself.color = colorself.weight = weight
当我们创建d1 = Dog('大黄','黄色',10)和d2 = Dog('旺财','黑色',8)两个实例时,d1的name为大黄,color为黄色,weight为10;而d2的name是旺财,color是黑色,weight为8。这些实例变量存储了每个Dog实例特有的信息,使得每个实例都能够在程序中被清晰地识别和区分开来,并且可以根据自身的实例变量值来展现出不同的行为或特性。例如,d1可能因为其较重的体重而在某些行为表现上与体重较轻的d2有所不同,如奔跑速度、耐力等方面的模拟。
二.类变量
类变量则是与整个类相关联的变量,它被类的所有实例所共享。无论创建了多少个类的实例,类变量在内存中只有一份副本,并且对类变量的修改会影响到类的所有实例。
在Dog类中,dogbook就是一个类变量:
class Dog:dogbook = {'黄色':30,'黑色':20,'白色':0} # 类变量:一个类里只有这# name,color……->实例变量,每一条具体的狗都有def __init__(self, name, color, weight):self.name = nameself.color = colorself.weight = weight
这个dogbook可以用于记录不同颜色狗的数量信息。所有的Dog实例都可以访问这个类变量,并且如果通过某个实例或者类本身对dogbook进行修改,例如增加某种颜色狗的数量,那么这个修改将会在整个类的范围内生效,其他实例看到的dogbook也会是更新后的状态。类变量通常用于存储与类整体相关的信息,如全局配置信息、共享数据等,这些信息不需要在每个实例中单独存储,从而节省内存空间并方便统一管理和维护。
三.实例方法
实例方法是面向对象编程中最为常见且基础的方法类型。它的标志性特征是第一个参数必须为self,这个self并非关键字,只是一种约定俗成的命名方式,其代表的是类的实例对象自身。通过self,实例方法能够深入到实例对象的内部,自由地访问和灵活地操作实例对象所特有的属性。
以一个简单的Dog类为例,我们可以清晰地看到实例方法的运作机制:
class Dog:dogbook = {'黄色':30,'黑色':20,'白色':0} # 类变量:一个类里只有这# name,color……->实例变量,每一条具体的狗都有def __init__(self, name, color, weight):self.name = nameself.color = colorself.weight = weight# 实例方法:传入self作为第一个参数,其他什么都不加,只能用实例调用def bark(self):print(f'{self.name}叫了起来')
d1 = Dog('大黄', "黄色", 10)
d1.bark()
在上述代码中,__init__方法是一种特殊的实例方法,它在创建类的实例时被自动调用,承担着初始化实例对象属性的重要使命。而 bark
方法则是典型的实例方法,当我们创建一个Dog实例,例如d1 = Dog('大黄','黄色',10),并随后调用d1.bark()时,self参数会在后台默默地被 Python 解释器绑定到当前的实例对象d1上。正因为如此,bark方法内部才能精准地获取到d1的name属性,并将这一信息打印输出。
实例方法的核心价值在于,它能够针对每个实例对象的独特性进行定制化的行为和操作。不同的Dog实例,它们各自拥有独立的属性值,而实例方法则可以根据这些不同的属性,展现出各异的行为表现,从而使每个实例都仿佛拥有了属于自己的个性与生命。
四.类方法
类方法在 Python 中是通过@classmethod装饰器来进行定义的,其第一个参数按照惯例被命名为cls,这里的cls代表的是类本身,而非类的某个具体实例。
让我们再次回到Dog类的示例中:
class Dog: # 类方法:属于狗类,不属于一条具体的狗@classmethoddef dog_num(cls):num = 0for v in cls.dogbook.values():num += vreturn num
d1 = Dog('大黄', "黄色", 10)
d1.bark()
print(f'共有{Dog.dog_num()}条狗')
print(f"共有{d1.dog_num()}条狗") # 也可以用实例来调用,python会自动帮你把Dog传入代码
在这个例子里,dog.num类方法被设计用于计算狗的总数。它通过直接访问类变量dogbook,遍历其中的值并进行累加,从而得出所有狗的数量统计结果。类方法的一大优势在于,它可以在无需创建类的实例的情况下被直接调用,调用方式为Dog.dog_num。当然,Python 也允许使用实例来调用类方法,例如d1.dog_num,在这种情况下,Python 解释器会自动将类对象Dog隐式地传入方法中,使得操作依然能够顺利地在类层面进行。
类方法的主要应用场景通常集中在与类整体相关的操作上。比如,对类变量的修改、查询或统计等操作,这些操作往往不依赖于某个特定的实例对象,而是与整个类的概念和状态紧密相连。此外,类方法还常常在创建工厂方法时发挥重要作用,工厂方法能够根据特定的规则或输入参数,返回类的实例,从而为对象的创建提供了一种更加灵活和可控的方式。
五.静态方法
静态方法是使用@staticmethod装饰器定义的一类特殊方法。与实例方法和类方法不同,静态方法不需要强制传入代表实例对象的self或者代表类对象的cls参数。从本质上讲,静态方法更像是一个普通的函数,只不过它被定义在了类的命名空间内,从而在逻辑上与类产生了一定的关联。
以Dog类中的total_weight方法为例:
class Dog:@staticmethoddef total_weight(dogs):total = 0for dog in dogs:total += dog.weightreturn totalprint(f'狗共重{Dog.total_weight([d1,d2])}公斤')
total_weight静态方法的功能是计算一组狗的总重量。它接收一个由狗的实例组成的列表作为参数,然后通过遍历这个列表,累加每个实例的weight属性值,最终得到所有狗的总重量并返回。需要注意的是,静态方法无法访问类的实例属性或类变量,它的独立性使得它主要适用于那些与类有一定逻辑关联,但又不依赖于类或实例的特定状态的操作。这类操作往往具有工具性的特点,例如数据的转换、验证或者一些简单的计算逻辑,它们虽然与类相关,但并不需要深入到类或实例的内部状态中去获取信息。
六.小结
实例变量存储着每个实例对象的独特数据,使得实例之间相互独立且具有个性化特征。
类变量则为整个类提供共享的数据资源,便于统一管理和维护与类相关的全局信息。
实例方法专注于处理实例对象的个体行为,通过 self
访问实例变量来实现个性化的操作和表现。
类方法着眼于类的整体层面,借助 cls
操作类变量,处理与类整体相关的事务,如统计、配置等。
静态方法作为类中的独立工具函数,与类和实例的状态相对分离,执行一些通用的、与类有逻辑关联但不依赖内部状态的操作。
总代码如下:
class Dog:dogbook = {'黄色':30,'黑色':20,'白色':0} # 类变量:一个类里只有这# name,color……->实例变量,每一条具体的狗都有def __init__(self,name,color,weight):self.name = nameself.color = colorself.weight = weight# 此处省略若干行,应该更新dogbook的数量# 实例方法:传入self作为第一个参数,其他什么都不加,只能用实例调用def bark(self):print(f'{self.name}叫了起来')
# d1 = Dog('大黄', "黄色", 10)
# d1.bark()# 类方法:属于狗类,不属于一条具体的狗@classmethoddef dog_num(cls):num = 0for v in cls.dogbook.values():num += vreturn num
# d1 = Dog('大黄', "黄色", 10)
# d1.bark()
# print(f'共有{Dog.dog_num()}条狗')
# print(f"共有{d1.dog_num()}条狗") # 也可以用实例来调用,python会自动帮你把Dog传入代码# 静态方法:不强制传入self,cls,与类无关@staticmethoddef total_weight(dogs):total = 0for dog in dogs:total += dog.weightreturn totalprint(f'共有{Dog.dog_num()}条狗')
d1 = Dog('大黄', "黄色", 10)
d1.bark()
print(f"共有{d1.dog_num()}条狗")d2 = Dog('旺财','黑色',8)
d2.bark()print(f'狗共重{Dog.total_weight([d1,d2])}公斤')
运行结果如下:
总结
在实际的Python编程实践中,合理且巧妙地选择使用实例方法、类方法和静态方法,就如同在建筑一座大厦时精心挑选合适的建筑材料和结构设计方案。正确的选择能够使代码结构更加清晰明了,各个模块的逻辑更加严谨合理,进而极大地提高代码的可读性和可维护性。例如,当我们需要描述一个对象的个体行为时,实例方法无疑是最佳选择;当涉及到对类整体信息的统计、管理或创建类的实例的统一入口时,类方法能够发挥其独特的优势;而对于那些与类相关但又相对独立的工具性操作,静态方法则能够提供简洁高效的解决方案。
通过对这三种方法的深入剖析和熟练掌握,我们能够在Python的面向对象编程领域中更加游刃有余地构建复杂而强大的程序体系,不断提升代码的质量和开发效率,为打造出优秀的软件产品奠定坚实的基础。
相关文章:
Python:类方法、实例方法与静态方法深度解析(补)
目录 一.实例变量 二.类变量 三.实例方法 四.类方法 五.静态方法 六.小结 总结 今天看程序时,发现自己好像忘了这三者的区别,所以重新写了一篇深度解析,希望之前看博客没看懂的小伙伴可以通过这个博客分清楚这三个方法。跟的是麦叔的课…...
Certimate:简化 SSL 证书管理的开源工具
引言 SSL(Secure Sockets Layer)证书对于保护网站和用户数据至关重要。然而,管理多个 SSL 证书可能变得繁琐和复杂。为了解决这个问题,Certimate 应运而生。Certimate 是一款开源的 SSL 证书管理工具,旨在简化 SSL 证书的申请、部署和续期流程。它特别适合需要管理多个域…...
rabbitMq举例
新来个技术总监,把 RabbitMQ 讲的那叫一个透彻,佩服! 生产者 代码举例 public String sendMsg(final String exchangeName,final String routingKey,final String msg) {} /*** 发送消息* param exchangeName exchangeName* param routin…...
人工智能增强的音频和聊天协作服务
论文标题:AI-enabled Audio and Chat Collaboration Services 中文标题:人工智能增强的音频和聊天协作服务 作者信息: Emil P. Andersen, Norwegian Defence Research Establishment (FFI), Kjeller, NorwayJesper R. Goksr, Sindre E. Ha…...
ctr: content digest XXX not found
1、问题描述 ctr 推送镜像到本地仓库报错 ctr: content digest sha256:b96e30ccb0a1e225493e53d4f81cb2c27183406e5f902ed43c4bf15dc6f21c9c: not found 2、问题原因 本人的平台是M1,正常情况下载镜像会自动按平台寻找版本,但是由于我下载的镜像版本没…...
java内存模型
文章目录 1.java内存模型2.重排序3.内存屏障3.1四类内存屏障指令 4.happens-before4.1 规则5.volatile5.1特性5.2规则5.3 内存语义5.4 内存屏障插入策略 1.java内存模型 java内存模型(JMM)定义了线程和主内存之间的抽象关系:线程之间的共享变…...
Java Object类与Objects类
1. Object 类 (1) Object类是Java中所有类的祖宗类,因此,Java中所有类的对象都可以直接使用Object类中提供的一些方法(public class Object)。 . (2) Object类常见方法 方法说明public String toString()返回对象的字符串形式public boolean eq…...
【目标检查】YOLO系列之:Triton 推理服务器Ultralytics YOLO11
Triton 推理服务器 1、引言2、Triton服务器2.1 什么是Triton Inference Server2.2 将YOLO11 导出为ONNX 格式2.3 设置Triton 模型库2.3.1 创建目录结构2.3.2 将导出的ONNX 模型移至Triton 资源库 2.4 运行Triton 推断服务器2.4.1 使用 Docker 运行Triton Inference Server2.4.2…...
力扣69. x 的平方根
给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1:…...
关于目标检测YOLO 各版本区别v1-v11/vX/vR
概述 YOLO(You Only Look Once,你只看一次)是一系列开创性的实时目标检测模型,它们彻底改变了计算机视觉领域。由Joseph Redmon开发,后续版本由不同研究人员迭代,YOLO模型以其在图像中检测对象的高速度和准…...
求成绩的平均值,统计低于平均分的人数
【问题描述】编写函数double average(double score[ ], int n,int *m)对存放在实型数组中考试成绩进行求平均分和低于平均分的人数,要求在主函数里面进行班级人数和成绩的输入,调用average函数进行计算成绩平均值和低于平均分的人数后,返回主…...
SGD、BGD、MBGD 之间的区别
文章目录 SGD(Stochastic Gradient Descent,随机梯度下降)BGD(Batch Gradient Descent,批量梯度下降)MBGD(Mini-Batch Gradient Descent,小批量梯度下降) 前置࿱…...
Android -- WebView之loadData加载html字符串显示网页
目录 前言1. loadUrl 加载网页地址2. loadData 加载Html字符来显示网页3. loadDataWithBaseURL4. 总结 前言 最近在给一个老项目做64位so文件的适配,当应用发布到应用市场上后,用户反馈64位手机上的网页加载不出内容,但32位的手机上是正常…...
单片机:实现数码管00盗99显示(附带源码)
单片机实现数码管00到99显示 在嵌入式开发中,数码管是最常用的显示设备之一,特别适合用于显示数字信息。本项目的目标是利用8051单片机控制数码管实现数字显示,从00到99的循环显示。我们将通过按键或定时器来控制数字的增减,并通…...
大厂面试智力题大全(详细解题思路,持续更新)
目录 八个球有一个比较重,问称几次可以把较重的球拎出来,具体称重的方法是怎样的? 64 匹马 8 个赛道,找出前四名,最少赛多少场(腾讯) 一个城市的加油站数量 5L的水桶和3L的水桶怎么量出4L的水 有一堆粗细不均匀的绳子,燃烧完一个绳子需要2小时,如何用这些绳子凑出…...
使用 acme.sh 签发和自动续期 ssl https 证书
acme.sh 是一个热度非常高的签发和自动续期 https 证书的工具,虽然官网上提供了充分的操作说明,但是不够简洁,本文以在 nginx 中签发和配置http 为例,列出必要的几个简单步骤。 安装 因为网络原因,github 大部分人是…...
YOLOv9改进,YOLOv9引入DLKA-Attention可变形大核注意力,WACV2024,二次创新RepNCSPELAN4结构
摘要 作者引入了一种称为可变形大核注意力 (D-LKA Attention) 的新方法来增强医学图像分割。这种方法使用大型卷积内核有效地捕获体积上下文,避免了过多的计算需求。D-LKA Attention 还受益于可变形卷积,以适应不同的数据模式。 理论介绍 大核卷积(Large Kernel Convolu…...
docker安装mysql8
上一篇提到了docker安装mysql5.7和mysql8有所不同,这一篇说一下mysql8的安装 1、宿主机创建映射目录 mkdir -p /data/mysql8/log mkdir -p /data/mysql8/data mkdir -p /data/mysql8/conf这里我放在了/data/mysql8目录下 2、拉取mysql镜像 docker pull mysql:8.…...
【云原生知识】Kubernets实践-前端服务如何访问后端服务
文章目录 概述步骤1:部署后端服务步骤2:配置Nginx步骤3:创建Nginx服务总结 如何确保 Nginx 能持续访问后端服务?相关文献 概述 假设你正在使用Kubernetes作为容器云平台,以下是如何配置Nginx以及相关服务,…...
M3DM的autodl环境构建过程笔记
文章目录 在3D-ADS环境https://blog.csdn.net/tfxzgp/article/details/144259472基础上构建(失败的记录,不用看)更换镜像重来(成功)安装缺少的包修改models.py中的RGB和点云backbone的路径修改main.py路径参数运行 在3D-ADS环境https://blog.…...
jmeter CLI Mode 传参实现动态设置用户数
一.需求 CLI 运行模式下每次运行想要传入不同的用户数,比如寻找瓶颈值的场景,需要运行多次设置不同的用户数。 二.解决思路 查看官方API Apache JMeter - Users Manual: Getting Started api CLI Mode 一节中提到可以使用如下参数做属性的替换&#…...
Mac系统下 jdk和maven 安装教程
一、jdk安装教程 1、先去官网选择对应版本下载 官网网址:Java SE | Oracle Technology Network | Oracle 中国 这里我选择的是jdk8的版本,如果你们想下载更高的版本就选择其他版本,目前大部分公司和教程使用jdk8的版本比较多。 点击macos&a…...
pyfink1.20版本下实现消费kafka中数据并实时计算
1、环境 JDK版本:1.8.0_412python版本:3.10.6apache-flink版本:1.20.0flink版本:1.20kafka版本:kafka_2.12-3.1.1flink-sql-connector-kafka版本:3.3.0-1.202、执行python-flink脚本 从kafka的demo获取消…...
【经验分享】私有云运维的知识点
最近忙于备考没关注,有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源,但我以交流、交换为主,笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟,为了避免更多人花没必要的钱,所以决定公…...
影像组学+病理组学+深度学习人工智能应用
影像组学 基础学习内容: 特征提取:使用pyradiomics进行形状、纹理、小波变换等特征提取。特征筛选:应用ICC、相关系数、mRMR、Lasso等方法。建模:使用LR、SVM、RF、XGBoost、LightGBM等机器学习算法。模型评估:通过A…...
how to write 述职pptx as a tech manager
As a technical manager, crafting an effective 述职 (performance review) PPT requires you to highlight your leadership, team accomplishments, technical contributions, challenges faced, and future plans. Heres a structured approach to design your PPT: 1. Cov…...
用户发送请求后服务端i/o工作过程
华子目录 服务端i/o介绍磁盘i/o机械磁盘的寻道时间、旋转延迟和数据传输时间常见的机械磁盘平均寻道时间值常见磁盘的平均延迟时间每秒最大IOPS的计算方法 网络i/o网络I/O处理过程磁盘和网络i/o 一次完整的请求在内部的执行过程 服务端i/o介绍 i/o在计算机中指Input/Output&am…...
功能篇:springboot实现防盗链功能
防盗链(Hotlink Protection)是一种防止其他网站直接链接到你网站的资源(如图片、视频等),从而节省带宽和保护内容的有效手段。在Spring Boot应用程序中实现防盗链功能,可以通过多种方式来达成,例…...
MySQL迁移SQLite
将 MySQL 的表结构和数据迁移到 SQLite,可以通过以下步骤实现。这个过程主要包括导出 MySQL 数据库到 SQL 文件,然后将其导入到 SQLite 数据库中。 步骤 1: 导出 MySQL 数据库 首先,需要将 MySQL 数据库导出为一个 SQL 文件。可以使用 mysq…...
嵌入式面试知识点总结 -- 面试篇
1、请你做个简单的自我介绍 把所有工作内容,分类整理出和岗位匹配的能力关键字,然后围绕关键字展开讲。每段经历要用数据来支撑。 例如: 面试官你好,我叫XXX,毕业于XXX,很荣幸参加此次面试。 围绕面试岗位…...
华为OD机试真题---观看文艺汇演问题
华为OD机试中的“观看文艺汇演问题”是一道考察算法与数据结构能力的题目。以下是对该题目的详细解析: 一、题目描述 为了庆祝某个重要节日(如中国共产党成立100周年),某公园将举行多场文艺表演。很多演出都是同时进行的&#x…...
类OCSP靶场-Kioptrix系列-Kioptrix Level 2
一、前情提要 二、实战打靶 1. 信息收集 1.1. 主机发现 1.2. 端口扫描 1.3.目录遍历 2.漏洞发现 2.1. 登录框测试 2.2. 发现命令执行 2.3 构造命令执行利用payload 3.提权 3.1. 搜索提权exp 3.2. 查看exp信息 3.3. Privilege Escalation的exp利用 exp_9542 一、前…...
openlane
openlane数据集,lane3d_1000里训练集157807张图片,测试集39981张图,md太多了...
修改vscode设置的原理
转载请标明出处:小帆的帆的专栏 修改vscode设置 首先需要理解的是,vscode的系统设置和插件设置都是通过settings.json文件管理的。 vscode中有三个Settings,三个Settings分别对应三个settings.json文件 Default Settings:默认…...
解决docker环境下aspose-words转换word成pdf后乱码问题
描述 环境:docker 部署工具:Jenkins 需求:本地上传的word文档需要转换成pdf 问题:转换之后的pdf文档出现小框框(乱码) 转换成PDF的操作 pom: <dependency><groupId>org.apach…...
2024年12月16日Github流行趋势
项目名称:PDFMathTranslate 项目维护者:Byaidu reycn hellofinch Wybxc YadominJinta项目介绍:基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker。项目star数…...
ElasticSearch 常见故障解析与修复秘籍
文章目录 一、ElasticSearch启动服务提示无法使用root用户二、ElasticSearch启动提示进程可拥有的虚拟内存少三、ElasticSearch提示用户拥有的可创建文件描述符太少四、ElasticSearch集群yellow状态分析五、ElasticSearch节点磁盘使用率过高,read_only状态问题解决六…...
用 Python Turtle 绘制经典汤姆猫:重温卡通角色的经典魅力
用 Python Turtle 绘制经典汤姆猫:重温卡通角色的经典魅力 🐸 前言 🐸🐞往期绘画>>点击进所有绘画🐞🐋 效果图 🐋🐉 代码 🐉 🐸 前言 🐸 汤…...
数据结构Day4: 链表函数封装 ; 思维导图
目录 作业:实现链表剩下的操作: 任意位置删除 按位置修改 按值查找返回地址 反转 销毁 运行结果 思维导图 作业:实现链表剩下的操作: 1>任意位置删除 2>按位置修改 3>按值查找返回地址 4>反转 5>销毁 任意…...
用 Python Turtle 绘制一只可爱的小狗:用代码捕捉狗狗的萌态
用 Python Turtle 绘制一只可爱的小狗:用代码捕捉狗狗的萌态 🐸 前言 🐸🐞往期绘画>>点击进所有绘画🐞🐋 效果图 🐋🐉 代码 🐉 🐸 前言 🐸 …...
人工智能浪潮来袭:2024年技术革命与产业变革深度解析@附64页PDF文件下载
随着2024年的到来,人工智能(AI)技术正以前所未有的速度、广度和深度改变着我们的生产和生活方式。在这篇深度解析中,我们将带您一探AI技术的最新发展、产业应用的现状以及未来的安全治理趋势。 技术革命:AI技术的新范…...
python 下载 b站视频 和音频
video_bvid: import os import requests import json import re from bs4 import BeautifulSoup import subprocess # from detail_video import video_bvid# video_bvid 是一个从外部得到的单个视频ID video_bvid BV1cx421Q7veclass BilibiliVideoAudio:def __in…...
【蓝桥杯选拔赛真题93】Scratch青蛙过河 第十五届蓝桥杯scratch图形化编程 少儿编程创意编程选拔赛真题解析
目录 Scratch青蛙过河 一、题目要求 编程实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、python资料 Scr…...
flink sink kafka的事务提交现象猜想
现象 查看flink源码时 sink kafka有事务提交机制,查看源码发现是使用两阶段提交策略,而事务提交是checkpoint完成后才执行,那么如果checkpoint设置间隔时间比较长时,事务未提交之前,后端应该消费不到数据,…...
Oracle 临时表空间管理与最佳实践
Oracle 临时表空间管理与最佳实践 内容摘要 本文深入探讨了Oracle数据库中临时表空间的管理和最佳实践。主要内容包括: 临时表空间的概述及其在Oracle 19c多租户架构中的特点临时表空间组的优势及其创建方法非临时表空间组的临时表空间日常维护操作命令临时表空间…...
Java转C之继承和多态
在C/C中,继承和多态是面向对象编程(OOP)的两个重要特性。以下将详细讲解C/C中如何实现继承与多态,同时结合Java的对比,帮助理解两者的异同。 继承的实现 C/C中的继承 继承允许一个类(派生类/子类…...
【密码学】ZUC祖冲之算法
一、ZUC算法简介 ZUC算法(祖冲之算法)是中国自主研发的一种流密码算法,2011年被3GPP批准成为4G国际标准,主要用于无线通信的加密和完整性保护。ZUC算法在逻辑上采用三层结构设计,包括线性反馈移位寄存器(L…...
MacOS系统 快速安装appium 步骤详解
在macOS系统上,你可以通过使用nvm(Node Version Manager)来管理Node.js的版本,并基于nvm安装的Node.js环境来快捷地安装Appium。以下是具体步骤: 一、安装nvm 下载nvm 访问nvm的GitHub仓库(nvm GitHub&…...
SEGGER | 基于STM32F405 + Keil - RTT组件07 - J-Scope数据可视化,RTT方式 + DWT定时器时间戳
导言 在上一章节SEGGER | 基于STM32F405 Keil - RTT组件06 - J-Scope数据可视化,使用RTT方式的第4.3章节提到,如果消息包不包含时间戳的话,那么J-Scope的横坐标的单位时间默认是100us,说白了时间戳是假的。会导致如下问题&#x…...
机器学习支持向量机(SVM)算法
一、引言 在当今数据驱动的时代,机器学习算法在各个领域发挥着至关重要的作用。支持向量机(Support Vector Machine,SVM)作为一种强大的监督学习算法,以其在分类和回归任务中的卓越性能而备受瞩目。SVM 具有良好的泛化…...