Python:__slots__用法
博客专区 > Aomo 的博客 > 博客详情
Python:__slots__用法
Aomo 发表于2年前
Python:__slots__用法
  • 发表于 2年前
  • 阅读 37
  • 收藏 3
  • 点赞 1
  • 评论 0

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

摘要: 通过实例简明地展示了python中__slots__的用法。文中代码可直接运行。
#!/usr/bin/python3
"""
这里通过实例简明地展示了python中__slots__的用法
"""
import types

class Student:
    """
    __slots__中列出了该类的所有属性。给任何其他不存在于此数组里的属性赋值都会抛出异常,如下面的setNickname函数。
    """
    __slots__=['name','id','addr']
    
    def __init__(self,i,n,a):
        self.name=n
        self.id=i
        self.addr=a
    
    def setNickname(self,nn):
        """
        这里试图设置一个__slots__中没有的属性,调用此函数时会抛出异常。
        """
        self.nickname=nn
        
    def printInfo(self):
        print('ID\tName\tAddress')
        print('%s\t%s\t%s' % (self.id,self.name,self.addr))        

if __name__=='__main__':
    print('---START Test---')
    s=Student(1,'James','London')
    s.printInfo()
    s.setNickname('007')# Error Student类没有nickname属性
    print(s.nickname)


共有 人打赏支持
粉丝 2
博文 23
码字总数 13415
×
Aomo
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: