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

[python] 类

一、slots

# leetcode - LRU cache
class Node:
    __slots__='prev','next','key','val'    
    def __init__(self,key=0,val=0):        
        self.key=key        
        self.val=val

在上述Python代码中, slots 是一个特殊的类属性,用于限制实例可以拥有的属性。具体到这个 Node 类:
定义 slots = ‘prev’, ‘next’, ‘key’, ‘val’ 表示 Node 类的实例只能拥有 prev 、 next 、 key 和 val 这四个属性。这样做有以下好处:

  • 节省内存:Python中实例默认使用字典来存储属性,会占用较多内存。而使用 slots 时,实例使用固定大小的内存来存储指定属性,能减少内存占用。
  • 防止意外创建新属性:当尝试为实例添加 slots 以外的属性时,会引发 AttributeError 异常,增强了代码的健壮性和可维护性。 在 init 方法中,初始化了 key 和 val 属性,后续根据需要,可以通过实例访问和修改这些属性,同时也能设置 prev 和 next 属性 。 总之, slots 为类实例属性管理提供了更高效和严格的方式。

相关文章:

  • 李国杰院士 “七问” DeepSeek:深度剖析 AI 发展新态势
  • Gin框架从入门到实战:核心用法与最佳实践
  • 深入探索像ChatGPT这样的大语言模型
  • FastGPT 引申:常见 Rerank 实现方案
  • Unity打包到webgl鼠标图标大小不正确
  • leetcode 0018 四数之和-medium
  • 【linux】文件与目录命令 - uniq
  • SpringBoot接入DeepSeek(硅基流动版)+ 前端页面调试(WebSocket连接模式)
  • DELL EMC Unity存储如何让控制器进入service mode和退出service mode
  • SQL进阶技巧:上课时长计算
  • 【C++】模板的改进
  • D3.js-简单入门1
  • Transformer学习
  • 基于模糊PID控制的供热控制系统设计Simulink仿真
  • FPGA学习(一)——DE2-115开发板编程入级
  • 【mysql查询】
  • 高频 SQL 50 题(基础版)_1341. 电影评分
  • Leetcode 二叉搜索树迭代器
  • MWC 2025|紫光展锐联手美格智能发布5G通信模组SRM812
  • 【TCP/IP协议栈】4. 传输层协议(TCP、UDP)
  • 威县做网站哪家好/百度云资源链接分享群组
  • 苹果网站导航条/电话营销技巧和营销方法
  • 网站版面设计/发布软文的平台
  • 青岛做外贸网站建设/seo 页面链接优化
  • 全国 做网站的企业/广州seo关键词优化外包
  • 怎样建设网站卖农产品/引流推广效果好的app