当前位置: 首页 > news >正文

python编程Day12-属性和方法的分类

  • 私有和公有

在python中 定义类的时候,可以给 属性和方法设置 访问权限,即规定在什么地方可以使用。
权限一般分为两种:公有权限、私有权限

  • 公有权限
  • 定义:直接定义的属性和方法就是公有的
  • 特点: 可以在任何地方访问和使用,只要有对象就可以访问和使用。
  • 私有权限
  • 定义:
    1、只能在类内部定义(class 关键字的缩进中
    2、只需要在属性名 或者方法名 前边 加上两个下划线,这个方法或者属性就变成了私有的。
  • 特点:私有 只能在当前类的内部使用,不能在类外部和子类直接使用。
  • 应用场景:一般来说,定义的属性和方法都为公有的。 某个属性 不想在外部直接使用,定义为私有; 某个方法,是内部的方法(不想在外部使用),定义为私有。
"""定义人类,name 属性 ,age 属性(私有)"""
class Person:def __init__(self, name, age):     # 公有方法self.name = name    # 公有self.__age = age    # 公有 --> 私有,在属性名前加上两个下划线。def __str__(self):     # 公有方法return f'{self.name}, {self.__age}'def set_age(self, age):      # 定义公有方法,修改私有属性if age < 0 or age > 120:print('提供的年龄信息不对。')returnself.__age = ageif __name__ == '__main__':xw = Person('小王', 18)print(xw)    # 小王, 18xw.__age = 1000    # 添加一个公有 属性 __ageprint(xw)   # 小王, 18xw.set_age(110)print(xw)    # 小王, 110
  • 对象分类

python 中一切皆对象

  • 对象分类

类对象 就是类
代码执行的时候,解释器会自动创建
作用:

  • 1、使用类对象创建 实例对象
  • 2、存储一些类的特征值(类属性)
  • 实例对象

1、创建对象也称为实例化,所以 由类对象(类)创建的对象 称为是实例对象,简称实例。
2、一般来说,没有特殊强调,我们所说的对象 都是指 实例对象(实例)
3、实例对象也可以保存实例特征值(实例属性)
4、就是使用 类名()创建的对象。

  • 属性的划分

使用 实例对象.属性 访问属性 的时候,会先在 实例属性中查找,如果找不到,去类属性中查找,找到就使用,找不到就报错。
即 :每个实例对象 都有可能访问类属性值(前提,实例属性和类属性不重名。)

  • 实例属性
  • 概念:
    是每个实例对象 具有的特征(属性)。每个实例对象的特征
  • 定义:
    一般都是 在 init 方法中,使用 self.属性名 = 属性值 来定义。
  • 特征(内存):
    每个实例对象 都会保存自己的实例属性,即 内存中存在多份
  • 访问和修改:
    # 可以认为是通过 self
    实例对象.属性 = 属性值 # 修改
    实例对象.属性 # 访问
  • 类属性
  • 概念:
    是类对象具有的 特征,是整个类的特征
  • 定义:
    一般都是 在类的内部( class 缩进中),方法的外部 (def 的缩进外部) 定义的变量
  • 特征(内存):
    只有类对象保存的一份,即在内存中只有一个。
  • 访问和修改:
    # 即通过类名
    类对象.属性 = 属性值
    类对象.属性
  • 什么时候定义类属性?

代码中 使用的属性 基本上都是 实例属性,即都通过 self 定义。
某个属性值描述的信息是整个类的特征(这个值变动,所有的这个类的对象这个特征都会发生变化)

  • 案例

在这里插入图片描述

# 1. 定义一个 工具类
# 2. 每件工具都有自己的 name
# 3. 需求 —— 知道使用这个类,创建了多少个工具对象?class Tool:# 定义类属性 count,记录创建对象的个数count = 0def __init__(self, name):self.name = name    # 实例属性,工具的名字# 修改类属性的值Tool.count += 1  # 类名.属性 = 属性值if __name__ == '__main__':# 查看 创建对象的个数print(Tool.count)  # 0 查看类.属性tool1 = Tool('锤子')print(Tool.count)  # 1tool2 = Tool('扳手')print(Tool.count)   # 2print(tool2.count)   # 2  先找实例属性 count,找不到,找类属性 count,找到 ,使用。
  • 方法的划分

  • 实例方法

  • 定义时机:
    如果方法中 需要使用 实例属性,则这个方法 必须 定义为 实例方法
  • 定义:
    直接定义的方法就是实例方法
class 类名:def 方法名(self):pass
  • 参数:
    参数一般写做 self,表示的是 实例对象。
  • 调用:
    实例对象.方法名()
  • 类方法
  • 定义时机:
    如果方法中 不需要使用 实例属性,但需要使用 类属性,则这个方法 可以 定义为 类方法(建议)
  • 定义:
    定义类方法,需要在方法名上方 书写 @classmethod, 即使用@classmethod 装饰器装饰
class 类名:@classmethoddef 方法名(cls):pass
  • 参数:
    参数一般写做 cls ,表示类对象,即类名,同样不需要手动传递,Python 解释器会自动传递。
  • 调用:
    # 方法一
    类名.方法名()
    # 方法二
    实例对象.方法名()
  • 静态方法(了解)
  • 定义时机:
    方法中 既不需要使用 实例属性,也不需要使用 类属性,可以将这个方法定义为 静态方法。
  • 定义:
    定义静态方法,需要使用 装饰器吧 @staticmethod 装饰方法。
class 类名:@staticmethoddef 方法名():pass
  • 参数
    静态方法 一般对参数没有要求,一般不写
  • 调用:
    # 方法一
    类名.方法名()
    # 方法二
    实例对象.方法名()
  • 类方法实例
# 1. 定义一个 工具类
# 2. 每件工具都有自己的 name
# 3. 需求 —— 知道使用这个类,创建了多少个工具对象?class Tool:# 定义类属性 count,记录创建对象的个数count = 0def __init__(self, name):self.name = name    # 实例属性,工具的名字# 修改类属性的值Tool.count += 1  # 类名.属性 = 属性值@classmethoddef show_tool_count(cls):   # cls 就是类对象,类名return cls.countif __name__ == '__main__':# 查看 创建对象的个数print(Tool.show_tool_count())tool1 = Tool('锤子')print(Tool.show_tool_count())  # 通过类对象.方法名() 调用tool2 = Tool('扳手')print(tool2.show_tool_count())  # 通过实例对象.方法名()调用
  • 案例一
# 需求:
# 1. 设计一个 Game 类
# 2. 属性:
# • 定义一个 top_score 类属性 -> 记录游戏的历史最高分
# • 定义一个 player_name 实例属性 -> 记录当前游戏的玩家姓名
# 3. 方法:
# • 静态方法 show_help() -> 显示游戏帮助信息
# • 类方法 show_top_score() -> 显示历史最高分
# • 实例方法 start_game() -> 开始当前玩家的游戏
# - ① 使用随机数 生成 10-100 之间数字 作为本次游戏的得分
# - ② 打印本次游戏得分 : 玩家 xxx 本次游戏得分 ooo
# - ② 和历史最高分进行比较, 如果比历史最高分高, 修改历史最高分
# 4. 主程序步骤: main
# 1 查看帮助信息
# 2 查看历史最高分
# 3 创建游戏对象,开始游戏
# 4 再一次游戏
import random
class Game:"""类名: Game属性:top_score = 0 类属性  ,保存历史最高分player_name 实例属性  定义在  init 中方法:"""top_score = 0def __init__(self, play_name):self.play_name = play_name   # 实例属性# 静态方法@staticmethoddef show_help():print('这是游戏的帮助信息')# 类方法@classmethoddef show_top_score(cls):# 类方法 show_top_score() -> 显示历史最高分print(f'历史最高分为: {cls.top_score}')# return Game.top_score  # 类名.属性名def start_game(self):print(f'玩家{self.play_name}开始游戏')score = random.randint(10, 100)print(f'玩家 {self.play_name} 本次游戏得分 {score}')if score > Game.top_score:Game.top_score = scoreif __name__ == '__main__':Game.show_help()Game.show_top_score()player = Game('小明')player.start_game()Game.show_top_score()player = Game('小明')player.start_game()Game.show_top_score()

相关文章:

python编程Day12-属性和方法的分类

私有和公有 在python中 定义类的时候&#xff0c;可以给 属性和方法设置 访问权限&#xff0c;即规定在什么地方可以使用。 权限一般分为两种&#xff1a;公有权限、私有权限 公有权限 定义&#xff1a;直接定义的属性和方法就是公有的特点&#xff1a; 可以在任何地方访问和使…...

C#实现TCP客户端和服务器

本文将介绍如何使用C#实现TCP客户端和服务器的基本功能&#xff0c;客户端与服务器可以相互发送消息。 效果展示 服务器端实现 首先&#xff0c;我们实现TCP服务器。以下是服务器端所需的类和代码&#xff1a; using System; using System.Collections.Generic; using Syste…...

数据库编程: JDBC 中数据库驱动包的安装,配置及引用

目录 驱动包的下载安装 1. 去oracle 官方网站下载 2. github 的开源软件 3. 中央仓库(推荐使用这个) 驱动包的配置及引用 1. 第一步: 打开idea, 在 idea 中创建新的项目 2. 然后我们要在 jdbc_1 目录下创建一个新的目录包 3. 最后引入MySQL 的驱动包, 作为项目的依赖 尾…...

mx linux 在konsole终端中无法输入中文的解决方法

在mx linux系统中&#xff0c;浏览器可以正常输入中文&#xff0c;但是终端窗口中无法输入中文的解决方法&#xff0c;可以通过以下步骤安装 fcitx - frontend - qt5 组件&#xff1a; 1. 打开终端。你可以通过系统菜单或者快捷键&#xff08;如 Ctrl Alt T &#xff09;来…...

./configure 安装ngnix的命令

./configure 是一个在 Unix 和类 Unix 系统中常用的 shell 脚本命令&#xff0c;主要用于配置软件源代码包&#xff0c;以便进行编译和安装。这个命令通常在从源代码编译软件之前执行&#xff0c;它会自动检测系统的配置并生成适合该系统的 Makefile。 以下是 ./configure 脚本…...

网络安全之接入控制

网络安全之接入控制 身份鉴别 ​ 定义:验证主题真实身份与其所声称的身份是否符合的过程&#xff0c;主体可以是用户、进程、主机。同时也可实现防重放&#xff0c;防假冒。 ​ 分类:单向鉴别、双向鉴别、三向鉴别。 ​ 主题身份标识信息:密钥、用户名和口令、证书和私钥 I…...

2.1 关系模型

关系模型的基本概念 关系&#xff1a;二维表&#xff0c;通常在数据库中表现为一个表&#xff1b; 属性&#xff1a;关系中的一个列即为关系的一个属性&#xff1b; 域&#xff1a; 每个属性的取值范围即为该属性的域&#xff1b; 元组&#xff1a;关系中的一个行是一个元组…...

深入浅出 Go 语言 sync包中的互斥锁、条件变量

深入浅出 Go 语言 sync包中的互斥锁、条件变量 引言 在并发编程中&#xff0c;多个 Goroutine 同时访问共享资源可能会导致数据竞争&#xff08;Race Condition&#xff09;&#xff0c;进而引发程序的不一致性或崩溃。为了确保并发程序的正确性和稳定性&#xff0c;Go 语言提…...

利用Python实现子域名简单收集

免责申明 本文仅是用于学习研究子域名信息收集&#xff0c;请勿用在非法途径上&#xff0c;若将其用于非法目的&#xff0c;所造成的一切后果由您自行承担&#xff0c;产生的一切风险和后果与笔者无关&#xff1b;本文开始前请认真详细学习《‌中华人民共和国网络安全法》【学法…...

npm发布插件到私有仓库保姆级教程

在开发项目的过程中&#xff0c;我们经常需要安装插件依赖&#xff0c;那么怎么把自己开发的组件封装成一个插件&#xff0c;并发布到npm 插件市场或者上传到私有仓库里面呢&#xff1f;今天总结下自己发布插件到私有仓库的记录&#xff1a; 一、创建组件 执行命令创建一个空…...

利用Java easyExcel库实现高效Excel数据处理

在Java应用程序中&#xff0c;处理Excel文件是一项常见任务&#xff0c;尤其是在需要读取、写入或分析大量数据时。easyExcel是一个基于Java的高性能Excel处理库&#xff0c;它提供了简洁的API和优化的性能&#xff0c;以简化Excel文件的处理。本文将指导您如何使用easyExcel库…...

基于Springboot的校园交友网站设计与实现

1.1 管理信息系统概述 管理信息系统是计算机在信息管理领域的一种实用技术。通过运用管理科学、数学和计算机应用的原理及方法&#xff0c;在符合软件工程规范的原则下&#xff0c;形成一套完整的理论和方法体系。是一个以人、计算机和其他外部设备组成的可以进行信息的收集、…...

android studio 读写文件操作(应用场景三)

android studio版本&#xff1a;2023.3.1 patch2 例程&#xff1a;filesaveandread 其实我写这个都是我记录我要做后个数独小游戏&#xff0c;每一个都是为了解决一个问题。即是分享也是备忘&#xff0c;反正我什么都不会&#xff0c;就是一顿瞎改&#xff0c;不行就研究。这…...

小程序 —— Day1

组件 — view和scroll-view view 类似于HTML中的div&#xff0c;是一个块级元素 案例&#xff1a;通过view组件实现页面的基础布局 scroll-view 可滚动的视图区域&#xff0c;用来实现滚动列表效果 案例&#xff1a;实现纵向滚动效果 scroll-x属性&#xff1a;允许横向滚动…...

使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo

使用 PyTorch 和 Horovod 来编写一个简单的分布式训练 demo&#xff0c;可以帮助你理解如何在多GPU或多节点环境中高效地训练深度学习模型。Horovod 是 Uber 开发的一个用于分布式训练的框架&#xff0c;它支持 TensorFlow、Keras、PyTorch 等多个机器学习库。下面是一个基于 P…...

【Linux】以 CentOS 为例备份与恢复/home分区,并调整分区容量

在 Linux 系统中&#xff0c;这里举例对 /home 目录进行备份、重建和恢复操作&#xff0c;并调整分区大小、更换文件系统或修复损坏的分区等。 〇、前提条件 确认文件系统类型为 xfs。 确认 /home 目录确实没有重要数据&#xff0c;或者已经做好了数据备份。 确保在执行这些…...

OpenAI 12Days 第二天 强化微调(RFT):推动语言模型在科学研究中的应用

OpenAI 12Days 第二天 强化微调&#xff08;RFT&#xff09;&#xff1a;推动语言模型在科学研究中的应用 文章目录 OpenAI 12Days 第二天 强化微调&#xff08;RFT&#xff09;&#xff1a;推动语言模型在科学研究中的应用RFT的工作原理与应用领域案例研究&#xff1a;基因突变…...

神经网络的梯度反向传播计算过程,举例说明

目录 神经网络的梯度反向传播计算过程 网络结构 权重和偏置 激活函数 前向传播 损失函数 反向传播 参数更新 举例 神经网络的梯度反向传播计算过程 为了说明神经网络的梯度反向传播计算过程,我们考虑一个简单的全连接网络,该网络有一个输入层、一个隐藏层和一个输出…...

定点数乘法:补码一位算法(booth算法)

方法 初始化 将被乘数A放在寄存器A中。 将乘数B放在寄存器B中&#xff0c;并在最低位添加一个额外的位Q(-1) 0。 结果寄存器P初始化为0&#xff0c;长度为2n位。 迭代过程&#xff08;重复n次&#xff09; 对于i从0到n-1&#xff1a; 检查乘数B的最后两位&#xff08;B 和…...

robots.txt

robots.txt 文件是网站管理者用来告知搜索引擎爬虫&#xff08;也称为机器人或蜘蛛&#xff09;哪些页面可以抓取&#xff0c;哪些页面不应该被抓取的一种文本文件。它位于网站的根目录下&#xff0c;并且文件名必须全部小写。这个文件对于SEO&#xff08;搜索引擎优化&#xf…...

如何用 JavaScript 操作 DOM 元素?

如何用 JavaScript 操作 DOM 元素&#xff1f;——结合实际项目代码示例讲解 在前端开发中&#xff0c;DOM&#xff08;文档对象模型&#xff09;操作是与页面交互的核心。通过 DOM 操作&#xff0c;开发者可以动态地修改页面内容、响应用户交互、控制样式等。JavaScript 提供…...

vue3使用后端传递的文件流进行文件预览

文章目录 一、 注意事项1、responseType设置为&#xff1a;arraybuffer2、Blob设置type&#xff0c;来源于后台封装的response.headers[content-type]3、使用encodeURIComponent()&#xff0c;避免符号影响文件名 二、java接口 一、 注意事项 1、responseType设置为&#xff1…...

ubuntu20.04设置远程桌面

安装xrdp sudo apt install xrdp 2、 检查xrdp状态 sudo systemctl status xrdp3、&#xff08;若为Ubuntu 20&#xff09;添加xrdp至ssl-cert sudo adduser xrdp ssl-cert 4、重启服务 sudo systemctl restart xrdp最后可以远程了&#xff0c;注意一个账号只能一个登录...

在vue3里使用scss实现简单的换肤功能

实现的换肤功能&#xff1a;主题色切换、亮色模式和暗黑模式切换、背景图切换 主题色就是网站主色&#xff0c;可以配置到组件库上面&#xff1b;亮色模式又分为两种风格&#xff1a;纯白风格和背景图风格&#xff0c;不需要背景图的话可以删掉这部分逻辑和相关定义&#xff1b…...

flyway执行sql遇到变量执行报错解决

前两天在公司使用flyway工具执行sql时&#xff0c;开发写的sql里面有变量&#xff0c;于是这个flyway工具不识别这个变量直接报错&#xff0c;不接着往下执行了。报错信息如下&#xff1a; flyway工具执行sql报错 information: No value provided for placeholder: ${ep1} 于是…...

解谜类游戏《迷失岛2》等如何抽象出一套通用高效开发框架?

解谜类游戏以精妙的谜题设计和引人入胜的故事叙述为特点&#xff0c;考验着玩家的智慧与观察力。《迷失岛2》与《南瓜先生2九龙城寨》正是这一领域的佳作。游戏以独特的艺术风格和玩法设计吸引了大量玩家&#xff0c;而它们背后隐藏着一套强大的框架。 上海胖布丁游戏的技术总…...

Ant Design Vue v4版本如何解决1px没有被postcss-px2rem转成rem的问题

背景说明 如果你的 Ant Design Vue 项目有要做适配的需求&#xff0c;那首先要选择一种适配方案。笔者选择的是用 postcss-px2rem 进行适配。笔者在配置了 postcss-px2rem的相关配置后&#xff0c;发现 postcss-px2rem 没有对 Ant Design Vue 进行适配。在网上看了一些文章之后…...

【系统架构设计师论文】云上自动化运维及其应用

随着云计算技术的迅猛发展,企业对云资源的需求日益增长。为了应对这一挑战,云上自动化运维(CloudOps)应运而生,它结合了DevOps理念和技术,通过自动化工具和流程来提高云环境的管理效率和服务质量。本文将探讨云上自动化运维的主要衡量指标,并详细介绍一个实际项目中如何…...

河南地质灾害资质办理的政策

一、资质分类 资质等级&#xff1a; 甲级资质&#xff1a;由自然资源部审批管理&#xff0c;适用于承担大型地质灾害防治项目。 乙级资质&#xff1a;由省、自治区、直辖市自然资源主管部门审批管理&#xff0c;适用于承担中型地质灾害防治项目。 丙级资质&#xff1a;由省…...

单例模式--懒汉 饿汉模式

一.啥是单例模式? 先介绍一下设计模式&#xff1a; 设计模式好⽐象棋中的 "棋谱". 红⽅当头炮, ⿊⽅⻢来跳. 针对红⽅的⼀些⾛法, ⿊⽅应招的时候有⼀些固定的套路. 按照套路来⾛局势就不会吃亏. 软件开发中也有很多常⻅的 "问题场景". 针对这些问题…...

HDD 2025年技术趋势深度分析报告

随着数据量的指数级增长以及人工智能&#xff08;AI&#xff09;、物联网&#xff08;IoT&#xff09;、云计算和视频监控等领域的需求激增&#xff0c;硬盘驱动器&#xff08;HDD&#xff09;行业正面临着前所未有的挑战与机遇。本报告旨在深入剖析2025年HDD技术的发展方向&am…...

关于uni-app的uni.showModal和indexOf的使用

这里使用showModal时&#xff0c;这个里面的content需要使用到字符串的形式&#xff0c;不能用到number类型 uni.showModal({title: 提示,content: "hello",success: function (res) {if (res.confirm) {console.log(用户点击确定);} else if (res.cancel) {console…...

Spring Data Elasticsearch

简介说明 spring-data-elasticsearch是比较好用的一个elasticsearch客户端&#xff0c;本文介绍如何使用它来操作ES。本文使用spring-boot-starter-data-elasticsearch&#xff0c;它内部会引入spring-data-elasticsearch。 Spring Data ElasticSearch有下边这几种方法操作El…...

汇编语言简要记录-1

汇编语言与汇编指令 汇编语言的主题是汇编指令 汇编指令与机器指令的差别在于指令的表示方法上 1、汇编指令是机器机器指令便于记忆的书写格式 2、汇编指令是机器指令的助记符 ag&#xff1a;机器指令 1000100111011000操作&#xff1a;将寄存器BX的值送到AX中汇编指令 MOV …...

Java程序猿搬砖笔记(十七)

文章目录 MySQL触发器ElasticSearch按日期分组查询每天的文档数量MySQL中order by排序将null排在最前或者最后面swagger3.0默认访问路径swagger3.0模块化配置MySQL中要少用UNION&#xff0c;多用UNION ALLElasticSearch Bucket & Metric聚合分析及嵌套聚合Mysql case when做…...

代码设计:设计模式:观察者模式

文章目录 定义类结构应用总结 定义 实现响应式编程的代码设计&#xff0c;即触发事件或数据变化时&#xff0c;将数据从被观察者类通过观察器传递给观察者处理&#xff0c;即被观察者类间接调用观察者类的方法处理事件或数据 类结构 被观察者类、观察器类、观察者类 被观察…...

第32天:安全开发-JavaEE应用Servlet路由技术JDBCMybatis数据库生命周期

时间轴&#xff1a; 32天主要学习内容&#xff1a; 1、JavaEE-HTTP-Servlet技术 2、JavaEE-数据库-JDBC&Mybatis java技术使用历史&#xff08;2023 &#xff09;&#xff1a; JavaEE-HTTP-Servlet&路由&周期: java学习范围&#xff1a; 3、Java: 功能:数据…...

如何使用Apache HttpClient来执行GET、POST、PUT和DELETE请求

Apache HttpClient 是一个功能强大且灵活的库&#xff0c;用于在Java中处理HTTP请求。 它支持多种HTTP方法&#xff0c;包括GET、POST、PUT和DELETE等。 本教程将演示如何使用Apache HttpClient来执行GET、POST、PUT和DELETE请求。 Maven依赖 要使用Apache HttpClient&…...

Next.js 系统性教学:加载界面、重定向与路由分组

更多有关Next.js教程&#xff0c;请查阅&#xff1a; 【目录】Next.js 独立开发系列教程-CSDN博客 目录 1. 加载界面与流式渲染 1.1 加载界面 (loading.js) 1.2 流式渲染 2. 路由重定向 2.1 基于服务器的重定向 2.2 动态重定向 2.3 中间件中的重定向 3. 路由分组 3.1…...

哪款云手机适合多开?常用云手机功能对比

在全球化和数字化时代&#xff0c;云手机以其独特的灵活性和高效性&#xff0c;成为多账号运营和数字营销的热门工具。云手机能够解决传统设备管理的诸多痛点&#xff0c;例如账号关联、硬件成本高等问题。本文将为您推荐多款优质云手机品牌&#xff0c;帮助您选择最适合的工具…...

基于openzeppelin插件的智能合约升级

一、作用以及优点 部署可升级合约&#xff0c;插件自动部署proxy和proxyAdmin合约&#xff0c;帮助管理合约升级和交互&#xff1b;升级已部署合约&#xff0c;通过插件快速升级合约&#xff0c;脚本开发方便快捷&#xff1b;管理代理管理员的权限&#xff0c;只有proxyAdmin的…...

WGAN生成对抗网络数据生成

数据生成 | WGAN生成对抗网络数据生成 目录 数据生成 | WGAN生成对抗网络数据生成生成效果基本描述程序设计参考资料 生成效果 基本描述 1.WGAN生成对抗网络&#xff0c;数据生成&#xff0c;样本生成程序&#xff0c;MATLAB程序&#xff1b; 2.适用于MATLAB 2020版及以上版本&…...

SQL面试题——拼多多SQL面试题 求连续段的起始位置和结束位置

拼多多SQL面试题 求连续段的起始位置和结束位置 今天的题目来自拼多多,我们先看一下题目描述 有一张表ids记录了id,id不重复,但是会存在间断,求出连续段的开始位置和结束位置 +---+ | id| +---+ | 1| | 2| | 3| | 5| | 6| | 8| | 10| | 12| | 13| | 14| | 15| +--…...

Contextual Affinity Distillation for Image Anomaly Detection

Contextual Affinity Distillation for Image Anomaly Detection 日本东北大学 摘要 先前对无监督工业异常检测的研究主要通过匹配或学习局部特征表示来关注“结构”类型的异常&#xff0c;例如裂纹和颜色污染。虽然在这种异常上实现了显着的高检测性能&#xff0c;但他们面…...

如何在HTML中修改光标的位置(全面版)

如何在HTML中修改光标的位置&#xff08;全面版&#xff09; 在Web开发中&#xff0c;控制光标位置是一个重要的技巧&#xff0c;尤其是在表单处理、富文本编辑器开发或格式化输入的场景中。HTML中的光标位置操作不仅适用于表单元素&#xff08;如<input>和<textarea…...

Spring Cloud Alibaba(六)

目录&#xff1a; 分布式链路追踪-SkyWalking为什么需要链路追踪什么是SkyWalkingSkyWalking核心概念什么是探针Java AgentJava探针日志监控实现之环境搭建Java探针日志监控实现之探针实现编写探针类TestAgent搭建 ElasticsearchSkyWalking服务环境搭建搭建微服务微服务接入Sky…...

Http请求系列---【http的几个请求时间分别代表什么?以及如何设置?】

在HTTP客户端编程中&#xff0c;通常涉及以下几种关键的超时设置&#xff1a; 连接超时 (connectTimeout)&#xff1a; 定义&#xff1a;在与服务器建立连接时等待的最大时间。这包括DNS解析时间、连接建立时间等。作用&#xff1a;如果在指定的时间内无法建立连接&#xff0c;…...

如何将CSDN博客下载为PDF文件

1.打开CSDN文章内容 2.按键盘上的f12键&#xff08;或者右键—审查元素&#xff09;进入浏览器调试模式&#xff0c;点击控制台&#xff08;Console&#xff09;进入控制台 3.在控制台输入以下代码&#xff0c;回车 4.在弹出的打印页面中将布局设置成横向&#xff0c;纵向会…...

关于IDEA 2024.2.1 Java EE 无框架配置Tomcat环境以及servlet使用教程

前言 这里的IDEA使用的是专业版&#xff0c;大学生认证后即可使用&#xff0c;社区版没有接触过暂不提&#xff0c;如果你是社区版&#xff0c;那么很可惜&#xff0c;本博客并不适用。本博客适用于java web刚入门的朋友学习使用&#xff0c;并不适用于高级部署。注意&#xf…...

【23种设计模式】七种设计原则:理论与 Java 实践

文章目录 23 种设计模式之七种设计原则&#xff1a;理论与 Java 实践一、单一职责原则&#xff08;SRP - Single Responsibility Principle&#xff09;&#xff08;一&#xff09;理论介绍&#xff08;二&#xff09;Java 实现示例&#xff08;三&#xff09;关键步骤&#xf…...