python第五十一课——__slots
2.__slots__:
作用:限制对象随意的动态添加属性
举例:
class Demo:
__slots__ = ('name','age','height','weight')
#实例化Demo对象
d = Demo()
#动态为d添加属性
d.name = 'abc'
d.age = 12
#可以动态添加的属性为:('name','age','height','weight')
#而sex不再范围内,所以执行代码报错了 --> AttributeError
# d.sex = '男'
print(d.name,d.age)
# print(d.sex)
演示__slots__属性的使用:
class Person:
__slots__ = ('name','age','height','weight')
pass #实例化Person对象
p=Person() #动态为对象添加属性
p.name='tom'
p.age=18
print(p.name,p.age) '''
以下代码有问题:AttributeError...
'''
print(p.__dict__) '''
尝试为p对象动态添加sex属性,但是sex并不是_slots_元组对象范围内的内容,
所以不被允许,报错:AttributeErro
''' p.sex='男'
print(p.sex) p.height=180.0
print(p.height)
返回目录
python第五十一课——__slots的更多相关文章
- python第三十一课--递归(2.遍历某个路径下面的所有内容)
需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...
- 孤荷凌寒自学python第五十一天初次尝试使用python连接Firebase数据库
孤荷凌寒自学python第五十一天初次尝试使用python连接Firebase数据库 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库服 ...
- Python第五十一天 python2升级为python3
Python第五十一天 python2升级为python3 公司使用的生产环境系统是centos7,所以这里以centos7系统为基础,讲解将python2升级为python3的方法 centos7 ...
- python第五十一天----线程,Event,队列
进程与线程的区别: 线程==指令集,进程==资源集 (线程集) 1.同一个进程中的线程共享内存空间,进程与进程之间是独立的 2.同一个进程中的线程是可以直接通讯交流的,进程与间通讯必需通过一个中间的 ...
- python第三十一课--递归(1.简单递归函数的定义和使用)
演示:简单递归函数的定义和使用 需求:1~5进行累加 找寻关系:函数名:mySum(num) 1).找临界点:运算到1(加到1)就结束了 2). 第一次:5+mySum(5-1)-->retur ...
- python第五十三课——time模块
1.time.datatime.calendar模块的引入讲解(重视) Unix时间戳(timestamp):返回的是数值类型数据(float值), 概念:记录了从1970年00点00分00秒至今的秒 ...
- python第五十课——多态性
animal.py class Animal: def __init__(self,name): self.name = name def eat(self): pass dog.py from an ...
- python第三十一课--递归(3.递归的弊端)
演示递归的弊端: def mySum(num): if num == 1: return 1 return num+mySum(num-1) mySum(998) [注意]:递归可以解决绝大多数循环能 ...
- JAVA学习第五十一课 — IO流(五)流的操作基本规律
转换流: InputStreamReader:字节到字符的桥梁.解码 OutputStreamWriter:字符到字节的桥梁.编码 流的基本规律 1.明白源和汇 源:InputStream.Reade ...
随机推荐
- 方便操作的命名范围scope
<?php namespace Goods\Model; use Think\Model; class GoodsModel extends Model { protected $_scope ...
- sip 注册流程
基本注册流程示意图: 注册流程描述如下: 1. SIP代理向SIP服务器发送REGISTER请求: 2. SIP服务器向SIP代理发送响应401,并在响应的消息头WWW ...
- 微信支付的JAVA SDK存在漏洞,可导致商家服务器被入侵(绕过支付)XML外部实体注入防护
XML外部实体注入 例: InputStream is = Test01.class.getClassLoader().getResourceAsStream("evil.xml" ...
- WebForm 【上传图片--添加水印】
对图片添加水印,上传 <div> <asp:FileUpload ID="FileUpload1" runat="server" /> ...
- MVC架构介绍-事件机制
实例产品基于asp.net mvc 5.0框架,源码下载地址:http://www.jinhusns.com/Products/Download 在.net框架中,事件是将事件发送者(触发事件的对象) ...
- java_单词长度
题目内容: 你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束.你要输出这行文本中每个单词的长度.这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4.注意,行中 ...
- SpringCloud初体验之Eureka
Eureka简介 SpringBoot简化了Spring工程的复杂度,之前复杂的Spring工程被拆分成了一个个小的SpringBoot工程.那么SpringBoot之间如何通讯,相互获取信息呢?这就 ...
- python2&python3
1.Python3 使用 print 必须要以小括号包裹打印内容,比如 print('hi') Python2 既可以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如 print 'hi ...
- 自定义jq插件,鼠标悬浮展示图片或者视频放大图,可自定义展示内容
网站项目经常会遇到一些视频或者图片素材的展示功能,那么就需要自己写一个功能,就是在一些列表页面你想要是这个数据的详细内容,弹框在页面某个位置 例如这是视频悬浮展示效果,可自定义自动播放等属性标签 又例 ...
- 常见聚类算法——K均值、凝聚层次聚类和DBSCAN比较
聚类分析就仅根据在数据中发现的描述对象及其关系的信息,将数据对象分组(簇).其目标是,组内的对象相互之间是相似的,而不同组中的对象是不同的.组内相似性越大,组间差别越大,聚类就越好. 先介绍下聚类的不 ...