文档章节

Python:__slots__用法

Aomo
 Aomo
发布于 2016/02/16 14:15
字数 198
阅读 42
收藏 3
点赞 1
评论 0
#!/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
粉丝 1
博文 32
码字总数 15314
作品 0
高级程序员
Python的22个编程技巧,简化 if 语句、开启文件分享

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

诸葛玥 ⋅ 04/15 ⋅ 0

python--接口测试--xlwt模块使用时报错情况解决方法

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

niedongri ⋅ 04/25 ⋅ 0

python有趣用法汇总(持续更新)

使用python过程中经常会不经意间遇到非常有趣的用法,于是特意搜集了一些 有趣的用法 1.for-else用法 循环正常结束则执行else语句。一般用于循环找符合条件的元素,如果找到则调出循环,不会...

p柯西 ⋅ 06/05 ⋅ 0

Python SimpleHTTPServer

  搭建FTP,或者是搭建网络文件系统,这些方法都能够实现Linux的目录共享。但是FTP和网络文件系统的功能都过于强大,因此它们都有一些不够方便的地方。比如你想快速共享Linux系统的某个目录...

郭恩洲_OSC博客 ⋅ 05/09 ⋅ 0

Mac下python2与python3共存问题

python从入门到放弃; mac os系统里面自带了python2,当我们需要学习python3的时候就要自己安装python3,就会出现python2与python3共存。新手不懂就会出现一系列的问题。 比如安装库的时候就...

服说八道 ⋅ 01/05 ⋅ 0

最新阿里巴巴面试题(附带面试标准答案)

在上一节中,我们已经介绍了关于阿里巴巴的任职要求,这节我就详细的介绍一下关于阿里巴巴的面试题(涉及到标准代码部分不予以出现,如果想要可以加群:725479218,里面可以进行技术分享、技术...

柯西带你学编程 ⋅ 06/02 ⋅ 0

人人都能学会的python编程教程10:调用函数

python里的函数和数学意义上的函数并没有太大差别。 调用函数 python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个...

编程老司机 ⋅ 05/10 ⋅ 0

python中#!/usr/bin/python与#!/usr/bin/env python的区别

目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本 所以我们在第一句往往会写如下两句中的其中一句: 或 就是说在没有在执行程序时指出用什么程序运行py脚本时,系统...

p柯西 ⋅ 06/15 ⋅ 0

Python 数据挖掘学习 一 结巴分词

近期,想对古典小说进行索引,和知识挖掘,所以研究了下python数据挖掘方面的知识 Python安装 python学习 一 python语法,及变量类型 python学习 二 爬一个图片网站上 python学习 二 02 爬一...

shuilan0066 ⋅ 01/22 ⋅ 0

我们可以在同一个虚拟机中运行 Python 2 和 3 代码而不需要更改代码吗?

从理论上来说,可以。Zed Shaw 说过一句著名的话,如果不行,那么 Python 3 一定不是图灵完备的。但在实践中,这是不现实的,我将通过给你们举几个例子来说明原因。 对于字典(dict)来说,这...

作者: Łukasz Langa ⋅ 05/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对于程序员的招聘问题,作为软件人的一些吐槽和建议

作为软件人,找工作有时候似乎挺苦逼的。 说真的,让我去掉前面这句中“似乎”二字吧。就是苦逼!很多人都曾抱怨处在招聘的一方很糟糕——我们没有任何可靠的方式来甄别会写代码并且写得好的...

老道士 ⋅ 33分钟前 ⋅ 0

HDFS原理学习

一、概述 1、 Hadoop整合了众多的文件系统,首先提供了一个高层的文件系统抽象org.apache.hadoop.fs.FileSystem。然后有各个文件系统的实现类。 2、Hadoop是JAVA编写的,不同文件系统之间的交...

cjxcloud ⋅ 37分钟前 ⋅ 0

Linux下MySQL表名不区分大小写的设置方法(抄袭别人的)

Linux下MySQL表名不区分大小写的设置方法 MySQL表名不区分大小写的设置方法 在用centox安装mysql后,把项目的数据库移植了过去,发现一些表的数据查不到,排查了一下问题,最后发现是表名的大...

随风而浮沉 ⋅ 42分钟前 ⋅ 0

ubuntu下安装宋体simsun

sudo cp simsun.ttc /usr/share/fonts cd /usr/share/fonts sudo chmod 644 simsun.ttc 更新字体缓存: 代码: sudo mkfontscale 代码: sudo mkfontdir 代码: sudo fc-cache -fsv 安装chrome扩......

wangxuwei ⋅ 44分钟前 ⋅ 0

利用 ssh 传输文件

Linux 下一般可以用 scp 命令通过 ssh 传送文件: #把服务器上的 /home/user/a.txt 发送到本机的 /var/www/local_dir 目录下scp username@servername:/home/user/a.txt /var/www/local_dir...

大灰狼时间 ⋅ 54分钟前 ⋅ 0

web3j教程:android和java程序员如何使用web3j开发区块链以太坊

如何使用web3j为Java应用或Android App增加以太坊区块链支持,本教程内容即涉及以太坊中的核心概念,例如账户管理包括账户的创建、钱包创建、交易转账,交易与状态、智能合约开发与交互、过滤...

智能合约 ⋅ 今天 ⋅ 0

web3j开发java或android以太坊智能合约快速入门

web3j简介 web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 可以通过它进行以太坊区块链...

笔阁 ⋅ 今天 ⋅ 0

一起读书《深入浅出nodejs》-异步I/O

异步I/O “异步”这个名词其实很早就诞生了,但它大规模流行却是在Web 2.0浪潮中,它伴随着AJAX的第一个A(Asynchronous)席卷了Web。 为什么要异步I/O 关于异步I/O为何在Node里如此重要,这与...

小草先森 ⋅ 今天 ⋅ 0

JVM各种问题

1、如果启动什么都不设,会怎样? 先来看一个命令 [root@localhost bin]# java -XX:+PrintCommandLineFlags -version -XX:InitialHeapSize=29899008 -XX:MaxHeapSize=478384128 -XX:+PrintCo......

算法之名 ⋅ 今天 ⋅ 0

SAS笔记-宏2

宏是一种文本,一般来说其编译是在程序执行之前。 宏变量的创建 %let语句 %let macro_variables = text; %let是常见的宏变量建立方式,其编译就在执行前。如下例中,想要宏变量test等于数据集...

tonorth123 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部