__solts__的使用
来源:互联网 发布:遇到网络诈骗怎么报警 编辑:程序博客网 时间:2024/05/16 15:06
上面我们说到了Python是动态语言,可以在运行时给实例对象添加属性。但是如果我们不想让别人添加其他属性,进行限制该怎么办呢?
我们可以使用__slots__来对添加的属性进行限制。
class Person(object): __slots__ = ("name", "age") def __init__(self, name, age): self.name = name self.age = age def eat(self): print("我叫%s,我的年龄是%d"%(self.name, self.age))p = Person("小明", 20)p.sex = "男"print(p.sex)
当我们在进行添加新的属性的时候就会报错AttributeError: 'Person' object has no attribute 'sex'需要注意的是:__slots__定义的属性仅对当前实例其作用,对继承的子类不起作用。
class Person(object): __slots__ = ("name", "age") def __init__(self, name, age): self.name = name self.age = age def eat(self): print("我叫%s,我的年龄是%d" %(self.name, self.age))p = Person("小明", 20)class Student(Person): print("学生")stu = Student("小红",18)stu.task = "好好学习"print(stu.name)print(stu.age)print(stu.task)打印结果:
学生
小红
18
好好学习
阅读全文
0 0
- __solts__的使用
- GUID使用的使用
- ${}的使用
- 的使用
- @[],@()的使用
- ->的使用
- +、-、*、/、%的使用
- &&的使用
- %:的使用
- Makefile中使用$$的使用
- Makefile中使用$$的使用
- Red5的使用--使用日志
- prefernce的使用具体使用
- 【工具使用】git 的使用
- 关于使用AsyncTaskLoader的使用
- 使用CABasicAnimation的基本使用
- 使用RocketMQ的客户端使用
- gulp的使用基本使用
- springboot整合Mybatis
- vertical-align应用
- hdu 6180 Schedule 贪心
- python的官方下载, 安装, IDE工具介绍,HelloWord
- [js高手之路]原型式继承与寄生式继承
- __solts__的使用
- rcnn网络学习资料整理
- 算法复习:第一个只出现一次的字符
- 什么是无后效性?
- SQL基本语句
- springmvc的补充解释
- maven管理的项目出现ClassNotFoundException
- 算法导论自做2.3-2
- 改进的冒泡排序