实用:pytho中的槽位(插槽)的使用

本文探讨了Python中槽位的概念及其使用,强调了在处理大量对象且内存有限的情况下,通过槽位优化内存消耗的重要性。通过实例展示了如何创建和应用槽位,以减少字典在对象内部表示时的内存占用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class A:
    X = 123
    __slots__ = ('p1','p2')

    def __init__(self):
        self.p1 = 1
        self.p2 = 2

    def showme(self):
        print('I am A')

print(A.__dict__)
a = A()
print(a.__slots__)
A.X = 500
print('=========================')

print(a.__dict__)

运行结果:

{'X': 123, 'p1': <member 'p1' of 'A' objects>, '__slots__': ('p1', 'p2'), '__module__': 'test1', '__init__': <function A.__init__ at 0x7f42e72782f0>, 'showme': <function A.showme at 0x7f42e7278378>, 'p2': <member 'p2' of 'A' objects>, '__doc__': None}
('p1', 'p2')
=========================
Traceback (most recent call last):
  File "/home/yzx/PycharmProjects/python/t36.py", line 12, in <module>
    plugin_load('test1:A').showme()
  File "/home/yzx/PycharmProjects/python/t36.py", line 6, in plugin_load
    mod = importlib.import_module(m)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值