您的位置:首页 > 编程语言 > Python开发

Python:__slots__用法

2016-02-16 00:00 681 查看
摘要: 通过实例简明地展示了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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  __slots__ python python3