Python中的__SLOTS__属性使用示例

作者:junjie 时间:2022-04-30 12:19:56 

看python社区大妈组织的内容里边有一篇讲python内存优化的,用到了__slots__。然后查了一下,总结一下。感觉非常有用

python类在进行实例化的时候,会有一个__dict__属性,里边有可用的实例属性名和值。声明__slots__后,实例就只会含有__slots__里有的属性名。


# coding: utf-8  class A(object):  x = 1   def __init__(self):    self.y = 2 a = A()print a.__dict__print(a.x, a.y)a.x = 10a.y = 10print(a.x, a.y)  class B(object):  __slots__ = ('x', 'y')  x = 1  z = 2   def __init__(self):    self.y = 3    # self.m = 5 # 这个是不成功的  b = B()# print(b.__dict__)print(b.x, b.z, b.y)# b.x = 10# b.z = 10b.y = 10print(b.y)  class C(object):  __slots__ = ('x', 'z')  x = 1   def __setattr__(self, name, val):    if name in C.__slots__:      object.__setattr__(self, name, val)   def __getattr__(self, name):    return "Value of %s" % name  c = C()print(c.__dict__)print(c.x)print(c.y)# c.x = 10c.z = 10c.y = 10print(c.z, c.y)c.z = 100print(c.z)


{'y': 2}
(1, 2)
(10, 10)
(1, 2, 3)
10
Value of __dict__
1
Value of y
(10, 'Value of y')
100
标签:Python,SLOTS,属性
0
投稿

猜你喜欢

  • 浅谈Mysql、SqlServer、Oracle三大数据库的区别

    2024-01-23 21:30:40
  • python实现文字版扫雷

    2023-01-01 13:01:47
  • JavaScript数据库TaffyDB用法实例分析

    2024-01-25 01:16:25
  • 详解python eval函数的妙用

    2021-12-23 10:56:05
  • 比较不错的函数式JavaScript编程指南教程

    2023-08-25 08:24:41
  • 从pandas一个单元格的字符串中提取字符串方式

    2022-10-14 21:24:35
  • jupyter notebook内核配置的图文教程

    2023-11-22 03:56:56
  • Python写一个简单的在线编辑器

    2022-07-26 22:49:17
  • CSS:浮动清理另类方法

    2008-11-17 11:45:00
  • Python实现对图像加噪(高斯噪声 椒盐噪声)

    2023-06-15 03:08:34
  • 基于Python实现模拟三体运动的示例代码

    2022-03-29 21:40:37
  • 详解Python各大聊天系统的屏蔽脏话功能原理

    2021-02-23 13:53:44
  • 装载iframe 子页面,自适应高度

    2008-11-20 12:53:00
  • Python项目实战之使用Django框架实现支付宝付款功能

    2021-12-11 23:28:11
  • Python教程使用Chord包实现炫彩弦图示例

    2022-10-10 17:50:14
  • SQL SERVER中各类触发器的完整语法及参数说明

    2024-01-15 20:54:17
  • 关于存储过程的编写的一些体会

    2024-01-18 13:11:29
  • 详解Python定时器Timer的使用及示例

    2021-01-25 23:54:34
  • ElementUI嵌套页面及关联增删查改实现示例

    2023-07-02 16:54:45
  • Pycharm如何运行.py文件的方法步骤

    2023-03-13 12:32:37
  • asp之家 网络编程 m.aspxhome.com