slots_doc_call属性
2024-09-05 16:47:36
class Foo:
"这时文档doc属性"
__slots__ = ["name","age"] #[“name”=None,“age"= None] ,slots等于的值是key
def __call__(self, *args, **kwargs): #对象后加()时执行
print("执行obj()") f1 = Foo() #实质是触发类属性中的__call__,产生一个实例
f1.name = "ss" #这里的属性添加只能添加类中slots定义的哪些key
print(f1.name)
print(f1.__slots__) #这时不存在__dict__
f1() #对象后加()触发call """
__slots__ = :类每次实例化都会产生一个对象字典,而这些字典会占用内存,为了节省内存使用__slots__代替__dict__
当定义一个__slots__时,它会代替实例字典,通过一个固定大小的数组来构建字典,而不用每次实例化产生字典
但这种方式就不能为实例添加新的属性,只能使用__slots__中定义的属性名
注意定义__slots__后它的特性都基于普通字典实现,且一些类的特性将无法实现,例如多继承
""" print(Foo.__doc__) #显示类中的文档信息,不写默认为None
#注意__doc__这个属性是不能被继承的,因为每个类中都有一个默认的__doc__属性 """
obj.__module__ 显示这个对象是由哪个模块产生的
obj.__class__ 显示这个对象是由哪个类产生的
def __del__(self) 析构方法,当且仅当对象在内存中释放时,触发执行,但Python中一般不用定义,Python有自动回收机制
__call__(self,*args,**kwargs) 当对象后面加()是出触发它
"""
最新文章
- [linux] linux shell 将解析完毕的文件备份至其他目录
- BCB 中测量Richedit 的文本总行高
- Arcgis for Javascript 在VS2012中的智能提示
- java.lang.OutOfMemoryError: PermGen space PermGen space &; java.lang.OutOfMemoryError: Java heap space Heap siz
- Beta项目冲刺汇总贴
- android EditText长按屏蔽ActionMode context菜单但保留选择工具功能
- 【转】SVN 查看历史信息
- CSS3 圆形时钟式网页进度条
- -webkit-filter属性用来干什么
- Flex “跑马灯”效果(自定义“跑马灯”控件)
- 云方案,依托H3C彩虹云存储架构,结合UIA统一认证系统,实现了用户数据的集中存储和管理
- HTML浅识
- Tomcat在修改代码后不会自动reload解决办法
- python爬虫入门(六) Scrapy框架之原理介绍
- Odoo11入门请假单模块学习教程源码
- MySql中SQL语句与其他数据库不一样的地方
- windows.open()
- java String正则表达式
- Linux inotify功能及实现原理【转】
- Python自动化开发 - Python操作MySQL
热门文章
- android自定义camera以及uri和文件路径之间的转换
- Base table or view not found
- RF通过命令执行用例及自定义报告与日志的位置
- JAVA中对null进行强制类型转换(null可以强转为任意对象,并执行对象的静态方法)
- Openstack 实现技术分解 (4) 通用技术 — TaskFlow
- 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_8 properties标签的使用及细节
- 中国MOOC_面向对象程序设计——Java语言_期末考试编程题_1细胞自动机
- nginx重要特性
- Java ——异常处理
- Go语言入门篇-环境准备