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装饰器使用示例及实际应用例子
Mar 06 Python
浅析Python中MySQLdb的事务处理功能
Sep 21 Python
python获取外网IP并发邮件的实现方法
Oct 01 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 Python
Python读写文件基础知识点
Jun 10 Python
在django admin中添加自定义视图的例子
Jul 26 Python
python 生成器和迭代器的原理解析
Oct 12 Python
numpy按列连接两个维数不同的数组方式
Dec 06 Python
Python计算指定日期是今年的第几天(三种方法)
Mar 26 Python
Python3基于plotly模块保存图片表格
Aug 03 Python
python之语音识别speech模块
Sep 09 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
BBS(php & mysql)完整版(八)
2006/10/09 PHP
php foreach 使用&(与运算符)引用赋值要注意的问题
2010/02/16 PHP
深入php-fpm的两种进程管理模式详解
2013/06/03 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
2017/03/14 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
基于PHP实现邮箱验证激活过程详解
2020/10/28 PHP
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
[03:58]2014DOTA2国际邀请赛 龙宝赛后解密DK获胜之道
2014/07/14 DOTA
深入了解Python数据类型之列表
2016/06/24 Python
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
Django日志模块logging的配置详解
2017/02/14 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
HTML5中判断用户是否正在浏览页面的方法
2014/05/03 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
开水果连锁店创业计划书
2013/12/29 职场文书
应届大学生简历中的自我评价
2014/01/15 职场文书
商超业务员岗位职责
2014/03/12 职场文书
党的作风建设心得体会
2014/10/22 职场文书
污染环境建议书
2015/09/14 职场文书
终止合同协议书范本
2016/03/22 职场文书
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers