python学习笔记-tip39(限制动态指定属性和方法:__s

2018-09-26  本文已影响9人  黑键手记

前言

我们知道,python是动态语言,可以在定义好类之后再动态的给其设置方法或者属性,如下方例子所示:


注意上面用到了

MethodType(方法,类对象)这个函数用来给某个对象指定方法

但是正因为动态语言的这个特点,所以会有编程风险,所以我们需要限定住某些固定属性

怎么限定?
__slots__函数
我们来看下用法


使用方法很简单
    __slots__=('name','age')

就能限制住类中的属性了

需要注意的是,用__slots__修饰的属性只对当前的类实例有作用,对于子类是没有约束限制的

如图


如果想让子类也约束的话,也同时使用__slots__去约束

上一篇下一篇

猜你喜欢

热点阅读