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 相关文章推荐
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
python中单例常用的几种实现方法总结
Oct 13 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
Dec 29 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
Python批量删除只保留最近几天table的代码实例
Apr 01 Python
Python sqlite3查询操作过程解析
Feb 20 Python
Python Django view 两种return的实现方式
Mar 16 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
python爬虫使用scrapy注意事项
Nov 23 Python
python 实现的IP 存活扫描脚本
Dec 10 Python
如何用python 操作zookeeper
Dec 28 Python
Python从MySQL数据库中面抽取试题,生成试卷
Jan 14 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分页的功能模块
2015/06/16 PHP
php实现的简单检验登陆类
2015/06/18 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
javascript 页面只自动刷新一次
2009/07/10 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
Vue.use源码分析
2017/04/22 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
Python入门篇之函数
2014/10/20 Python
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
python自动zip压缩目录的方法
2015/06/28 Python
Python绘制3D图形
2018/05/03 Python
Django forms组件的使用教程
2018/10/08 Python
python获取url的返回信息方法
2018/12/17 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
python在协程中增加任务实例操作
2021/02/28 Python
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
共产党员公开承诺践诺书
2014/05/28 职场文书
药店促销活动策划方案
2014/08/24 职场文书
关于运动会广播稿200字
2014/10/08 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
小学大队长竞选稿
2015/11/20 职场文书
SQL语句中EXISTS的详细用法大全
2022/06/25 MySQL