__slots__保存着实例变量的列表,并且在实例中保留空间以确定它们在实例中。一旦使用了__slots__,其它的实例变量就不能被赋值了。
文档中是这么说的:
引用
This class variable can be assigned a string, iterable, or sequence of strings with variable names used by instances. If defined in a new-style class, __slots__ reserves space for the declared variables and prevents the automatic creation of __dict__ and __weakref__ for each instance
也就是说
class C(object):
__slots__='b'
def __init__(self):
self.b=67
c=C()
c.e=9 #这里就会报异常
我有个问题,请看下面的代码
class B(object):
a=23
class C(B):
__slots__='b'
def __init__(self):
self.b=67
c=C()
c.e=9
上面的代码就不会报异常,想问一下这是什么原因?
分享到:
- 2007-02-28 10:07
- 浏览 4627
- 评论(3)
- 论坛回复 / 浏览 (2 / 5470)
- 查看更多
相关推荐
在Python中,每个类都有实例属性。默认情况下Python用一个字典来保存一个对象的实例属性。...下面这篇文章主要给大家介绍了关于Python中__slots__属性与基本使用方法的相关资料,需要的朋友可以参考下
python类在进行实例化的时候,会有一个__dict__属性,里边有可用的实例属性名和值。声明__slots__后,实例就只会含有__slots__里有的属性名。 # coding: utf-8 class A(object): x = 1 def __init__(self): ...
主要介绍了python3中使用__slots__限定实例属性操作,结合实例形式分析了Python3定义类实例绑定属性,以及使用__slots__限定实例属性的相关操作技巧,需要的朋友可以参考下
主要介绍了Vue中的slots/scoped slots,本文实例代码相结合的形式给大家介绍了slots的工作原理,需要的朋友可以参考下
python是一个动态语言,可以支持我们在运行时动态的给类、对象添加属性或者方法;但是如果我们想要限制可以添加的属性或方法该怎么办呢? 二、__slots__ python允许在定义class的时候,定义一个特殊的__slots__变量...
本文实例讲述了python中__slots__的用法。分享给大家供大家参考。具体分析如下: 定义__slots__ 后,可以再实例上分配的属性名称将被限制为指定的名称。否则将引发AttributeError,这种限制可以阻止其他人向现有的...
主要介绍了在Python中使用__slots__方法的详细教程,__slots__方法是Python的一个重要内置类方法,代码基于Python2.x版本,需要的朋友可以参考下
本文介绍了vue Render中slots的使用的实例代码,有需要了解vue Render中slots用法的朋友可参考。希望此文章对各位有所帮助。 render 中 slot 的一般默认使用方式如下: this.$slots.default 对用 template的的使用...
NULL 博文链接:https://kirenenko04.iteye.com/blog/2096946
主要介绍了Python类中的魔法方法之 __slots__详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
CPU插槽有多少种 详细介绍Slots、Sockets、Slocket
类内的 __slots__ 列表属性 class Student: __slots__ = ['name', 'score'] 类的文档字符串 类内的 __doc__属性绑定文档字符串 继承 / 派生 object 类派生出所有的类 所有的类都直接或间接的继承自object类 ...
前言 ...本文主要介绍了关于python使用__slots__让你的代码更加节省内存的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 现在来说说python中dict为什么比list浪费内存
策略游戏,unity3D的源码,可以使用该框架进行娱乐场游戏的制作。 完整的U3D资源 可以直接做单机游戏制作 也可以当作网络游戏的前端基础框架。 良好的前端代码整合。 良好的基础框架。 适合二次开发。 也可以换皮...