博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python oop __slots__方法
阅读量:5865 次
发布时间:2019-06-19

本文共 578 字,大约阅读时间需要 1 分钟。

动态语言python 可以在程序运行的情况下给class加上功能。具体为

#引入一个from types import MethodType #方法#然后s.set_age = MethodType(set_age, s, Student)#给一个实例绑定方法#s是一个实例 然后set_age是外面定义的一个方法,student是s实例所属的类。

如果要给整个类绑定set_age方法的话 可以使用

from types import MethodTypeStudent.set_score = MethodType(set_score, None, Student)#为该类增加set_score方法 给class绑定了方法之后所有的实例都可以使用。#其实除掉动态绑定的写法 上面类似于这种效果class Student(object):        def set_score():            pass

然而 这样我们并不能限制一个类下面会被添加多少属性和方法

为了达到目的我们使用__slots__

#就像这样class Student(object):    __slots__ = ('name', 'age')#那么没有被放在__slots__里面的属性名称 都不再可以被添加。#还有需要注意的是 这个 对继承的子类就会失去效果

 

转载地址:http://fsynx.baihongyu.com/

你可能感兴趣的文章
Spring Boot 读取配置文件
查看>>
Windows系统不同SVN版本对比
查看>>
go语言学习-位运算
查看>>
GetLastError()返回值的意义
查看>>
CreateThread、_beginthreadex、AfxBeginThread
查看>>
API读取写入 ini文件内容的方法函数详解
查看>>
Android事件详解——触屏事件MotionEvent(一)
查看>>
Apache - AH01630
查看>>
MySQL索引的创建、删除和查看
查看>>
一键测试脚本bench.sh
查看>>
结合explain extended浅析使用mysql in 的效率
查看>>
常用的SQL语句
查看>>
线程池学习
查看>>
MFC非模态对话框教程相关
查看>>
Hadoop文件写入详细剖析(22)
查看>>
QuestionAnsweringSystem v1.1 发布,人机问答系统
查看>>
java.lang.Integer$IntegerCache
查看>>
set_exception_handler() 函数设置用户自定义的异常处理函数。
查看>>
测试pypcap的代码(环境:Windows, Python2.7)
查看>>
正则表达式元素:量词介绍
查看>>