python class slots

python 中的类的slots

因为python是动态语言,它允许在程序运行过程中给class实例绑定任何属性和方法
如果我们需要限制某个类的实例只允许有指定的几个属性或者方法,可以使用 slots 这个特殊变量

class testA(object):
        __slots__ = ("name", "age")

ta = testA()
ta.name = "me"
ta.male = "male"  # 该语句会报错...
报错信息
Traceback (most recent call last):
  File "d:\Learn-python\test.py", line 353, in <module>
    stuYc.male = "male"
AttributeError: 'Student' object has no attribute 'male'
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 要点: 函数式编程:注意不是“函数编程”,多了一个“式” 模块:如何使用模块 面向对象编程:面向对象的概念、属性、...
    victorsungo阅读 1,636评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,286评论 19 139
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,271评论 4 16
  • 定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类...
    绩重KF阅读 4,026评论 0 13
  • 从来没这么迫切的需要身边有他在。挂号,排队,询问,找科室。对于路痴的我来讲真的太难了。医护人员的态度不敢恭维,就这...
    清茶煮玫瑰阅读 344评论 0 0