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

[python] python静态方法,类方法,实例方法实现及其区别

一 静态方法

  • 格式: 使用 @staticmethmod 装饰器修饰
  • 应用:  某个方法既不需要使用实例属性也不需要使用类属性时,就可以考虑使用静态方法

  • 注意: 静态方法与类无关,可以被转换成函数使用,属于类本身

1.1 经典示例

 创建一个与日期相关的辅助函数,这些函数不需要访问或修改类的状态,因此适合作为静态方法

class DateUtils:@staticmethoddef is_weekday(date = datetime.now()):# 判断给定的日期是否为工作日return date.weekday() < 5@staticmethoddef next_weekday(date):#返回下一个工作日的日期next_day = date + timedelta(days = 1)while next_day.weekday() >= 5: #如果是周六或者周日,则继续加一天直到工作日next_day = next_day + timedelta(days = 1)return next_day

调用:

import datetimetoday = datetime.datetime(year=2025, month=5, day=13)  # 假设今天是2025年5月13日,星期二
print(DateUtils.is_weekday(today))  # 输出: True,因为今天是周二,属于工作日next_workday = DateUtils.next_weekday(today)  # 计算下一个工作日
print(next_workday.strftime("%Y-%m-%d"))  # 输出下一个工作日的日期

1.2 特殊之处

  • 对于python这门语言,类的静态方法就相当于一个普通函数,可以直接调用,也可以使用创建的实例的对象调用

date1 = DateUtils()
print(date1.next_weekday(today))

二 类方法

  • 格式: 使用 @staticmethmod 装饰器修饰
  • ,对于类方法,第一个参数必须是类对象自己,一般是以cls作为第一个参数
  • 值得注意的是它可以传入其他类方法,并且可以访问类属性

# class 类名:
#    @classmethod
#        def 方法名(cls,形参):
#           方法体

  • 当方法中需要使用到类对象(如访问私有类属性时)
  • 类方法一搬是配合类属性使用

2.1 使用场景

当需要在所有实例之间共享某些数据时,可以使用类属性
计数器: 用于跟踪类被创建了多少个实例出来

三 实例方法

  • 格式:不需要装饰器修饰符,但是第一个参数必须传递实例自己(self)
  • 第一个参数必须是 self
  • 表示调用该方法的实例本身
  • Python 会自动传入这个参数,不需要手动传递

class 类名:

    def 方法名(self, 其他参数):

            方法体

四 详细区别

特性实例方法  类方法 (@classmethod) 静态方法 (@staticmethod)
第一个参数self(实例) cls(类 )  无隐式参数
是否自动传参✅ 是 ✅ 是  ❌ 否
可否访问实例属性✅ 可以  ❌ 不可以  ❌ 不可以 
可否访问类属性✅ 可以 ✅ 可以  ❌ 不可以 
可否修改实例状态✅ 可以  ❌ 不可以  ❌ 不可以 
可否修改类状态 ✅ 可以 ✅ 可以  ❌ 不可以 
调用方式 必须通过实例(或显式传实例)类或实例均可 类或实例均可
主要用途操作实例数据(如初始化、修改状态等)操作类数据(如工厂方法、类级别的操作)执行与类/实例有关的逻辑,但不依赖类或实例
  • 首先我们要明确下面这个例子,name = "python"是什么属性--->类属性,他并非实例属性。而@classmethod也是类方法,调用类方法后可以修改/获取类属性。类方法中必须传递cls也就是类本身。
  • 接下来看看实例属性和实例方法
  • 下面定义了一个get_name(self,name)实例方法,这个函数第一次被调用时,实例属性还没有被创建,就会去找类中有没有这个属性,找到之后返回了类属性中的这个值。
  • 当调用set_name(self,name)实例方法后,实例属性self.name被创建,此时如果调用get_name()获取到的实例属性和调用getname获取到的类属性的值就不再相同。
  • 值得注意的是,实例属性一般是在__init__第一次构造时被创建,或者某些实例方法中被创建。
  • 而类属性在类被定义的时候就已经存在了。
class PObject(object):name = "python"@classmethoddef setname(cls,name):cls.name = name@classmethoddef getname(cls):return cls.namedef get_name(self):return self.namedef set_name(self,name):self.name = namePObject.setname("C++")
print(PObject.getname())p1 = PObject()
print(p1.getname())
p1.setname("Java")
p1.set_name("VUE")
print(PObject.getname())
print(p1.get_name())

4.1 如何区分实例属性和类属性

简单来说定义在类里面,方法外面的都属于类属性,在方法内部通过self访问的都是实例属性.

4.2 一些奇怪的操作

静态方法内调用实例属性

  • 静态方法: :内部不要去尝试访问实例属性和类属性,虽然可以通过一些骚操作实现

首先静态方法不接受隐式的第一个参数,cls或者self,这意味着它们不能访问实例或类的状态。它们通常用于与类相关,但不需要访问类或其实例属性的功能。

但是却可以手动类和实例

  • 对于这种写法其实就相当于是一个函数的功能了,完全可以单独写成一个外部函数。
  • 因为这种写法的设计无非是传入一个类的去操作或者获取这个类,本身就有了类方法,就应该使用类方法去获取和操作这个类的属性。
class PObject(object):name = "python"@staticmethoddef isstaticfunction(cls,self):print(f"传递了这个类{cls}和这个实例对象{self}")p1 = PObject()PObject.isstaticfunction(PObject,p1)

相关文章:

[python] python静态方法,类方法,实例方法实现及其区别

一 静态方法 格式: 使用 staticmethmod 装饰器修饰 应用: 某个方法既不需要使用实例属性也不需要使用类属性时,就可以考虑使用静态方法 注意: 静态方法与类无关,可以被转换成函数使用,属于类本身 1.1 经典示例 创建一个与日期相关的辅助函数,这些函数不需要访问或修改类的…...

Kite AI 自动机器人部署教程

最近比较火的AI赛道&#xff0c;每日自动对话训练AI&#xff0c;赚积分 一个个用于 Kite AI 平台的自动交互机器人&#xff0c;支持多钱包和代理。 登记 注册链接 &#x1f31f; 功能 多钱包支持&#xff08;手动输入或基于文件&#xff09; 代理支持&#xff08;HTTP/HTTP…...

50. Pow(x, n)

50. Pow(x, n) 分治法的基本思想是将一个大问题分解成若干个相同或相似的小问题&#xff0c;递归地解决这些小问题&#xff0c;然后将这些小问题的解合并起来得到原问题的解。 class Solution:def myPow(self, x: float, n: int) -> float:# 内部定义了一个嵌套的辅助函数…...

Go 语言 sqlx 库使用:对 MySQL 增删改查

MySQL 作为目前最流行的开源关系型数据库&#xff0c;其 SQL 语法体系已形成行业标准&#xff0c;相关知识体系庞大且成熟&#xff0c;本文不再对 SQL 基础进行详细展开&#xff0c;建议尚未掌握的读者先行系统学习。本文聚焦于如何使用 Go 语言进行 MySQL 数据库操作&#xff…...

反射, 注解, 动态代理

文章目录 单元测试什么是单元测试咱们之前是如何进行单元测试的&#xff1f; 有啥问题 &#xff1f;现在使用方法进行测试优点Junit单元测试的使用步骤删除不需要的jar包总结 反射认识反射、获取类什么是反射反射具体学什么&#xff1f;反射第一步&#xff1a;或者Class对象 获…...

继续预训练 LLM ——数据筛选的思路

GPT生成数据微调qwen-2.5多模态模型实战项目 作者&#xff1a;柠檬养乐多 原文地址&#xff1a;https://zhuanlan.zhihu.com/p/30645776656 qwen2.5-vl是阿里通义实验室推出的qwen系列最新多模态大模型&#xff0c;在许多指标上已经超过或接近了gpt-4o。更为方便的是&#xff0…...

深入解析 PostgreSQL 外部数据封装器(FDW)的 SELECT 查询执行机制

引言 PostgreSQL 中的外部数据封装器&#xff08;Foreign Data Wrapper, FDW&#xff09;是一种扩展&#xff0c;允许您像访问 PostgreSQL 数据库中的表一样&#xff0c;访问和操作存储在外部数据源中的数据。FDW 使 PostgreSQL 能够与多种数据存储系统&#xff08;包括关系型…...

数据库系统概论|第六章:关系数据理论—课程笔记2

前言 前文我们介绍了规划化的基本概念&#xff0c;同时引入了关于规范化的相关定义与基本概念&#xff0c;低一级范式的关系模式&#xff0c;通过模式分解&#xff0c;可以转换为若干个高一级范式的关系模式的集合&#xff0c;这种过程就叫规范化。本文将围绕范式展开讨论&…...

package-lock.json能否直接删除?

package-lock.json能否直接删除&#xff1f; package-lock.json 生成工具&#xff1a;由 npm 自动生成。 触发条件&#xff1a;当运行 npm install 时&#xff0c;如果不存在 package-lock.json&#xff0c;npm 会创建它&#xff1b;如果已存在&#xff0c;npm 会根据它精确安…...

Ubuntu磁盘空间分析:du命令及常用组合

1、du命令的作用 du&#xff08;Disk Usage&#xff09;是 Ubuntu 系统中用于查看目录或文件磁盘使用情况的命令&#xff0c;主要用于分析磁盘空间占用。 2、语法 du [选项] [目录/文件路径]常用选项 2.1、-h 以 KB、MB、GB 等人性化可读格式&#xff08;Human-readable&am…...

《数据库原理》部分习题解析1

《数据库原理》部分习题解析1 1. 名词解释 &#xff08;1&#xff09;关系&#xff08;2&#xff09;属性&#xff08;3&#xff09;域&#xff08;4&#xff09;元组&#xff08;5&#xff09;码&#xff08;6&#xff09;分量&#xff08;7&#xff09;关系模式 &#xff0…...

汇川Easy系列PLC数据值改变功能块(随动增益改变判断)

PLC值改变事件 值改变触发功能块 PLC值改变事件 值改变触发功能块(SCL ST完整源代码)-CSDN博客文章浏览阅读1.1k次。本文介绍了在PLC中处理值改变事件的方法,包括值改变触发功能块的实现,详细讲解了FB接口定义、ST代码,并提供了在博途平台上的实现。此外,还分享了如何利用…...

数据清洗的艺术:如何为AI模型准备高质量数据集?

数据清洗的艺术&#xff1a;如何为AI模型准备高质量数据集&#xff1f; 引言 在人工智能和机器学习领域&#xff0c;我们常常听到"垃圾进&#xff0c;垃圾出"(Garbage in, garbage out)这句格言。无论你的模型架构多么精妙&#xff0c;算法多么先进&#xff0c;如果…...

怎么查看当前vue项目,要求的node.js版本

怎么查看当前vue项目&#xff0c;要求的node.js版本 找到 package.json package-lock.json 搜索 node...

游戏引擎学习第278天:将实体存储移入世界区块

总结并为今天的内容做好铺垫 今天的内容是关于开发一个完整的实体系统&#xff0c;目标是让这个系统更加实际和有效。之前讨论了如何通过一个模拟区域来处理无限大的世界。最初&#xff0c;使用浮动点数而不是双精度浮点数来避免潜在的精度问题&#xff0c;因为一些平台&#…...

计算机组成与体系结构:缓存设计概述(Cache Design Overview)

目录 Block Placement&#xff08;块放置&#xff09; Block Identification&#xff08;块识别&#xff09; Block Replacement&#xff08;块替换&#xff09; Write Strategy&#xff08;写策略&#xff09; 总结&#xff1a; 高速缓存设计包括四个基础核心概念&#xf…...

在Linux中如何使用Kill(),向进程发送发送信号

kill()函数 #include <sys/types.h> #include <signal.h> int kill(pid_t pid, int sig); 函数参数和返回值含义如下: pid:参数 pid 为正数的情况下,用于指定接收此信号的进程 pid;除此之外,参数 pid 也可设置为 0 或-1 以及小于-1 等不同值,稍后给说明。 …...

ElasticSearch重启之后shard未分配问题的解决

以下是Elasticsearch重启后分片未分配问题的完整解决方案&#xff0c;结合典型故障场景与最新实践&#xff1a; 一、快速诊断定位 ‌检查集群状态 GET /_cluster/health?pretty # status为red/yellow时需关注unassigned_shards字段值 ‌ 2.查看未分配分片详情 …...

基于 Spring Boot 瑞吉外卖系统开发(十四)

基于 Spring Boot 瑞吉外卖系统开发&#xff08;十四&#xff09; 查询订单 在管理端的首页&#xff0c;单击左侧菜单栏中的“订单明细”&#xff0c;会在右侧打开订单明细页面。 请求路径&#xff1a;/order/page 请求方法&#xff1a;GET 参数&#xff1a;page pageSize …...

【软件测试】第二章·软件测试的基本概念

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a;&#x1f3c0;软件测试与软件项目管理_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 …...

部署安装gitlab-ce-17.9.7-ce.0.el8.x86_64.rpm

目录 ​编辑 实验环境 所需软件 实验开始 安装部署gitlab171.配置清华源仓库&#xff08;版本高的系统无需做&#xff09;vim /etc/yum.repos.d/gitlab-ce.repo 2.提前下载包dnf localinstall gitlab-ce-17.9.7-ce.0.el8.x86_64.rpm --rocklinux 3.修改配…...

2025五一杭州西湖三天游

2025五一杭州西湖三天游 文章目录 2025五一杭州西湖三天游一、前言二、杭州游玩记录三、杭州三日游小结四、杭州美食街1、河坊街2、胜利河美食街3、高银街4、中山南路美食街5、武林夜市6、啦喜街美食广场7、大兜路美食街 五、豆包推荐的杭州三日游攻略三天主要行程**第一天&…...

实验五:以太网UDP全协议栈的实现(通过远程实验系统)

文章目录 FPGA以太网:从ARP到UDP的完整协议栈一、引言二、核心模块详解1. ARP协议处理模块1.1 `arp_cache`:ARP缓存模块1.2 `arp_tx`:ARP请求与应答发送模块1.3 `arp_rx`:ARP接收与解析模块2. MAC层处理模块2.1 `mac_layer`:MAC层顶层模块2.2 `mac_tx_mode`:MAC发送模式选…...

现代计算机图形学Games101入门笔记(八)

三角形三点已经知道在uv的位置了&#xff0c;那三角形内部的点&#xff0c;怎么算。 先看A 任一点 面积比求 根据三点坐标属性差值出内部点的位置。 纹理太小了&#xff0c;映射处理方式&#xff0c;取邻近的Nearest感觉一格格的&#xff0c;取周围4个权重Bilinear,取4*4Bicubi…...

C语言学习之文件操作

经过前面的学习&#xff0c;我们已经基本掌握了如何去写一个C语言的代码了。但是在实际的项目中&#xff0c;我们不可能不需要文件去操作。因为如果没有文件&#xff0c;我们写的程序是存储在电脑的内存中的。如果程序推出&#xff0c;内存回收数据就随之丢失了。如果我们要对数…...

《AI大模型应知应会100篇》第63篇:AutoGPT 与 BabyAGI:自主代理框架探索

第63篇&#xff1a;AutoGPT 与 BabyAGI&#xff1a;自主代理框架探索 摘要 随着大语言模型&#xff08;LLM&#xff09;技术的不断演进&#xff0c;自主代理&#xff08;Autonomous Agent&#xff09; 正在成为 AI 应用的新范式。它不仅能够理解用户意图&#xff0c;还能自主规…...

使用大模型预测急性结石性疾病技术方案

目录 1. 数据预处理与特征工程伪代码 - 数据清洗与特征处理数据预处理流程图2. 大模型构建与训练伪代码 - 模型训练模型训练流程图3. 术前预测系统伪代码 - 术前风险评估术前预测流程图4. 术中实时调整系统伪代码 - 术中风险预警术中调整流程图5. 术后护理系统伪代码 - 并发症预…...

基于运动补偿的前景检测算法

这段代码实现了基于运动补偿的前景检测算法。 主要功能包括&#xff1a; 运动补偿模块&#xff1a;使用基于网格的 KLT 特征跟踪算法计算两帧之间的运动&#xff0c;然后通过单应性变换实现帧间运动补偿。前景检测模块&#xff1a;结合两帧运动补偿结果&#xff0c;通过帧间差…...

鸿蒙OSUniApp开发富文本编辑器组件#三方框架 #Uniapp

使用UniApp开发富文本编辑器组件 富文本编辑在各类应用中非常常见&#xff0c;无论是内容创作平台还是社交软件&#xff0c;都需要提供良好的富文本编辑体验。本文记录了我使用UniApp开发一个跨平台富文本编辑器组件的过程&#xff0c;希望对有类似需求的开发者有所启发。 背景…...

W5500使用SocketTool工具测试

W5500使用SocketTool工具测试 1、按“WINR” 2、输入“IPCONFIG”&#xff0c;得到计算机的IP地址&#xff0c;子网掩码和网关 3、设置W5500设备网络参数如下&#xff1a; 本地网关&#xff1a;192.168.1.1 本地子网掩码: 255.255.255.0 本地物理地址&#xff1a;0C 2…...

《Python星球日记》 第71天:命名实体识别(NER)与关系抽取

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、命名实体识别&#xff08;NER&#xff09;基础1. 什么是命名实体识别&#…...

双向长短期记忆网络-BiLSTM

5月14日复盘 二、BiLSTM 1. 概述 双向长短期记忆网络&#xff08;Bi-directional Long Short-Term Memory&#xff0c;BiLSTM&#xff09;是一种扩展自长短期记忆网络&#xff08;LSTM&#xff09;的结构&#xff0c;旨在解决传统 LSTM 模型只能考虑到过去信息的问题。BiLST…...

CentOS7原有磁盘扩容实战记录(LVM非LVM)【针对GPT分区】

一、环境 二、命令及含义 fdisk ‌ ‌ fdisk‌是一个较老的分区表创建和管理工具&#xff0c;主要支持MBR&#xff08;Master Boot Record&#xff09;格式的分区表。MBR分区表支持的硬盘单个分区最大容量为2TB&#xff0c;最多可以有4个主分区。fdisk通过命令行界面进行操…...

如何在终端/命令行中把PDF的每一页转换成图片(PNG)

今天被对象安排了一个任务&#xff1a; 之前自己其实也有这个需要&#xff0c;但是吧&#xff0c;我懒&#xff1a;量少拖拽&#xff0c;量大就放弃。但这次躲不过去了&#xff0c;所以研究了一下有什么工具可以做到这个需求。 本文记录我这次发现的使用 XpdfReader 的方法。…...

【0415】Postgres内核 释放指定 memory context 中所有内存 ④

1. frees all memory (memory context) Postgres内核中由函数 AllocSetReset() 完成该功能。即 “释放给定set中分配的所有内存。” 它应当将所有已分配的chunks标记为已释放,但不一定需要归还set所拥有的全部资源。我们的实际实现是,除了“保留”块(“keeper” block)(…...

2025年Flutter初级工程师技能要求

在2025年&#xff0c;随着移动应用市场的持续增长和跨平台开发需求的不断增加&#xff0c;Flutter已经成为许多公司构建高性能、跨平台应用的首选框架。对于初入职场的Flutter初级工程师来说&#xff0c;掌握以下技能要求是必不可少的。这些技能不仅能够帮助你在工作中快速上手…...

AWS技术助力企业满足GDPR合规要求

GDPR(通用数据保护条例)作为欧盟严格的数据保护法规,给许多企业带来了合规挑战。本文将探讨如何利用AWS(亚马逊云服务)的相关技术来满足GDPR的核心要求,帮助企业实现数据保护合规。 一、GDPR核心要求概览 GDPR的主要目标是保护欧盟公民的个人数据和隐私权。其核心要求包括: 数…...

MVCC:数据库并发控制的利器

在并发环境下&#xff0c;数据库需要处理多个事务同时访问和修改数据的情况。为了保证数据的一致性和隔离性&#xff0c;数据库需要采用一些并发控制机制。MVCC (Multi-Version Concurrency Control&#xff0c;多版本并发控制) 就是一种常用的并发控制技术&#xff0c;它通过维…...

第二章、Isaaclab强化学习包装器(3):SKRL Wrapper

0 前言 官方文档&#xff1a;https://isaac-sim.github.io/IsaacLab/main/source/api/lab_rl/isaaclab_rl.html#module-isaaclab_rl.skrl https://skrl.readthedocs.io/en/latest/intro/getting_started.html 在本节中&#xff0c;您将学习如何使用 skrl 库的各种组件来创建强…...

AI数字人实现原理

随着人工智能与数字技术的快速发展&#xff0c;AI数字人&#xff08;Digital Human&#xff09;作为新一代人机交互媒介&#xff0c;正在多个行业中快速落地。无论是在虚拟主播、在线客服、教育培训&#xff0c;还是在数字代言、元宇宙中&#xff0c;AI数字人都扮演着越来越重要…...

RBTree的模拟实现

1&#xff1a;红黑树的概念 红⿊树是⼀棵⼆叉搜索树&#xff0c;他的每个结点增加⼀个存储位来表⽰结点的颜⾊&#xff0c;可以是红⾊或者⿊⾊。通过对任何⼀条从根到叶⼦的路径上各个结点的颜⾊进⾏约束&#xff0c;红⿊树确保没有⼀条路径会⽐其他路径⻓出2倍&#xff0c;因…...

ssh connect to remote gitlab without authority

ssh connect to remote gitlab without authority 1 this command can produce a ssh key for authority ssh-keygen -t ed25519 -C "your_emailexample.com"2 this command can get the comment about the key cat ~/.ssh/id_ed25519.pubcopy all content !!!...

gitlab提交测试分支的命令和流程

写在前面 先npm run lint:eslint 先走一遍代码校验然后再提交先把检验跑了再add commit push那些注意一下这个问题:git commit规范不对导致报错subject may not be empty[subject-empty]type may not be empty[type-empty]. 配置lint检查后&#xff0c; 使用commitlint之后报…...

序列化和反序列化hadoop实现

### Hadoop 中序列化与反序列化的实现机制 Hadoop 提供了自己的轻量级序列化接口 Writable&#xff0c;用于高效地在网络中传输数据或将其存储到磁盘。以下是关于其核心概念和实现方式的详细介绍&#xff1a; --- #### 1. **Hadoop 序列化的核心原理** Hadoop 的序列化是一…...

[操作系统] 策略模式进行日志模块设计

文章目录 [toc]一、什么是设计模式&#xff1f;二、日志系统的基本构成三、策略模式在日志系统中的落地实现✦ 1. 策略基类 LogStrategy✦ 2. 具体策略类▸ 控制台输出&#xff1a;ConsoleLogStrategy▸ 文件输出&#xff1a;FileLogStrategy 四、日志等级枚举与转换函数五、日…...

LeetCode 每日一题 3341. 到达最后一个房间的最少时间 I + II

3341. 到达最后一个房间的最少时间 I II 有一个地窖&#xff0c;地窖中有 n x m 个房间&#xff0c;它们呈网格状排布。 给你一个大小为 n x m 的二维数组 moveTime &#xff0c;其中 moveTime[i][j] 表示在这个时刻 以后 你才可以 开始 往这个房间 移动 。你在时刻 t 0 时从…...

《Python星球日记》 第68天:BERT 与预训练模型

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、BERT模型基础1. 什么是BERT?2. BERT 的结构3.预训练和微调对比二、BERT 的预训练任务1. 掩码语言模型 (MLM)2. 下一句预测 (NSP)三、微调 …...

Angular 知识框架

一、Angular 基础 1. Angular 简介 Angular 是什么&#xff1f; 基于 TypeScript 的前端框架&#xff08;Google 维护&#xff09;。 适用于构建单页应用&#xff08;SPA&#xff09;。 核心特性 组件化架构 双向数据绑定 依赖注入&#xff08;DI&#xff09; 模块化设计…...

python三方库sqlalchemy

SQLAlchemy 是 Python 中最强大、最受欢迎的 ORM&#xff08;对象关系映射&#xff09;库&#xff0c;它允许你使用 Python 对象来操作数据库&#xff0c;而不需要直接编写 SQL 语句。同时&#xff0c;它也提供了对底层 SQL 的完全控制能力&#xff0c;适用于从简单脚本到大型企…...

【SSL部署与优化​】​​如何为网站启用HTTPS:从Let‘s Encrypt免费证书到Nginx配置​​

网站启用HTTPS 的完整实战指南&#xff0c;涵盖从 Let’s Encrypt 免费证书申请到 Nginx 配置的详细步骤&#xff0c;包括重定向、HSTS 设置及常见问题排查&#xff1a; 一、准备工作 1. 确保域名解析正确 • 在 DNS 管理后台&#xff0c;将域名&#xff08;如 example.com&…...