Python实现把类当做字典来访问


Posted in Python onDecember 16, 2019

定义一个类将它实例化,我们可以通过obj.属性来访问类的属性,如果想获取类的所有实例变量,我们可以使用obj.__dict__来访问,如下:

class A:
  def __init__(self):
    self.a = 1
    self.b = 2
 
 
a = A()
print(a.__dict__)
# {'a': 1, 'b': 2}
#获取变量a:
print(a.__dict__['a'])
# 1

如果我们想直接通过字典的方式访问类,obj=A(),dict(obj)直接拿到类的所有实例变量,可以通过如下方式:

class A:
  def __init__(self):
    self.a = 1
    self.b = 2
 
  def keys(self):
    return ('a','b',)
 
  def __getitem__(self, item):
    return getattr(self, item)
 
a = A()
print(dict(a))
#输出:{'a': 1, 'b': 2}

可以看到,通过定义keys方法能够限制类的实例变量的输出,用内置的dict方法就能把类转换成一个普通的字典了

以上这篇Python实现把类当做字典来访问就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现定时播放mp3
Mar 29 Python
Python多线程结合队列下载百度音乐的方法
Jul 27 Python
深入解析Python中的变量和赋值运算符
Oct 12 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
Python数据处理numpy.median的实例讲解
Apr 02 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
mac使用python识别图形验证码功能
Jan 10 Python
Python中url标签使用知识点总结
Jan 16 Python
基于Python共轭梯度法与最速下降法之间的对比
Apr 02 Python
如何用python实现一个HTTP连接池
Jan 14 Python
python爬取youtube视频的示例代码
Mar 03 Python
python文本处理的方案(结巴分词并去除符号)
May 26 Python
python中p-value的实现方式
Dec 16 #Python
基于python读取.mat文件并取出信息
Dec 16 #Python
python基于plotly实现画饼状图代码实例
Dec 16 #Python
python 实现让字典的value 成为列表
Dec 16 #Python
python 列表、字典和集合的添加和删除操作
Dec 16 #Python
python实现字典嵌套列表取值
Dec 16 #Python
python绘制彩虹图
Dec 16 #Python
You might like
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
javascript显示选择目录对话框的代码
2008/11/10 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
在Vue 中使用Typescript的示例代码
2018/09/10 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
利用python获取当前日期前后N天或N月日期的方法示例
2017/07/30 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
Python selenium爬虫实现定时任务过程解析
2020/06/08 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
教师实习期自我鉴定
2013/10/06 职场文书
禁止酒驾标语
2014/06/25 职场文书
股东授权委托书范文
2014/09/13 职场文书
秋季运动会加油词
2015/07/18 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
高中班长竞选稿
2015/11/20 职场文书
四则混合运算教学反思
2016/02/23 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android