python(__slots__的作用)

__slots__的作用:

限制只有定义的一些属性才可以动态添加,以元组的方式定义能给对象添加的属性,除此之外的属性不能添加,对动态添加属性可以做出一些限制

下面有个小例子,来看一下__slots__的使用

# -*- coding:utf-8 -*-
class People(object):
    __slots__ = ('name','age','phone')
    def __init__(self,weight):
        super(People,self).__init__()
        # self.weight = weight
        #当做限制之后,添加weight,出现以下错误:AttributeError: 'People' object has no attribute 'weight'
p1 = People(80)
#动态添加属性
p1.name = '张三'
p1.sex = '男'
p1.age = 22
print(p1)
#当限制中元组中没有sex这个属性时,添加sex出现以下错误:AttributeError: 'People' object has no attribute 'sex'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值