文档章节

Python:__slots__用法

Aomo
 Aomo
发布于 2016/02/16 14:15
字数 198
阅读 43
收藏 3
#!/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)

 

---------------------------

扫一扫,关注我们,获取更多信息

© 著作权归作者所有

共有 人打赏支持
Aomo
粉丝 2
博文 38
码字总数 16740
作品 0
高级程序员
Python的22个编程技巧,简化 if 语句、开启文件分享

小编给大家推荐一个学习氛围超好的地方,python交流企鹅裙:474534951!适合在校大学生,小白,想转行,想通过这个找工作的加入 。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直...

诸葛玥
04/15
0
0
python处理word文件:win32com用法详解

目标:用python处理doc文件 方法:引入win32com模块 ** 一、安装 ** 首先要先下载安装win32com模块(起先在linux下装不成功,后在windows下面成功了。。。) 下载地址:http://sourceforge....

彼得
2014/07/21
0
3
python--接口测试--xlwt模块使用时报错情况解决方法

我们做接口测试时经常用到xlrd和xlwt两个模块,这里的xlrd还比较好弄直接安装就好, 但是xlwt安装会失败,网上自己下载xlwt3模块后然后通过python setup.py install指令来 安装。当我们导入这...

niedongri
04/25
0
0
将Python嵌入到Qt程序中

(原文链接: http://doc.trolltech.com/qq/qq23-pythonqt.html ) by Florian Link 译: 赖敬文 将脚本语言嵌入C++ 程序已经变得非常普遍。在许多主流的应用程序,如Microsoft Office 与Mac...

openthings
2015/01/20
0
0
Python学习笔记-面向对象篇

定义 实例化和调用 访问限制 双下划线: 私有变量(解释器把双下划线改成了单下划线,依旧可以通过单下划线访问) 单下划线: 可以被外部访问,但约定俗称不要访问 双下划线包围: 特殊变量,...

路小磊
2015/07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于pip

我在更新pip的时候碰到的一些问题。 第一次安装,直接安装就ok了,所以也没研究,没想到后来由于安装了python2.x和python3.x之后出现了问题。 如果要将pip更新到最新版本需要指明是哪个版本的...

恰东
34分钟前
1
0
对硬盘进行分区时,GPT和MBR有什么区别

在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区。GPT是一种新的标准,并在逐渐取代MBR。 GPT带来了很多新特性,但MBR仍然拥有最好的兼容性。GPT并不是Windows专用的...

yizhichao
36分钟前
3
0
区块链教程btcpool矿池源码分析StratumServer模块解析

兄弟连区块链教程btcpool矿池源码分析StratumServer模块解析 核心机制总结 接收的job延迟超过60秒将丢弃 如果job中prevHash与本地job中prevHash不同,即为已产生新块,job中isClean状态将置为...

兄弟连区块链入门教程
37分钟前
1
0
JS中的异常捕获

JS中的异常捕获(目的:把抛出的错误捕获到,不让其阻断浏览器的继续执行) try{//需要执行的JS代码(可能会报错)}catch(e){//try中代码报错,会执行catch}finally{//不管try中的代...

NDweb
47分钟前
2
0
ObjectARX_AcDb2dPolyline复杂实体

1遍历:访问或者编辑复杂实体也需要通过特定的方式。 AcDb2dPolyline的顶点信息不能通过AcDb2dPolyline对象直接得到,需要遍历AcDb2dPolyline所包含的AcDb2dVertex对象: void IteratePolylin...

一个小妞
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部