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 zip文件 压缩
Dec 24 Python
Python去除字符串两端空格的方法
May 21 Python
利用Python中的pandas库对cdn日志进行分析详解
Mar 07 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
儿童python练习实例
May 27 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
May 23 Python
python基于Selenium的web自动化框架
Jul 14 Python
Python for循环搭配else常见问题解决
Feb 11 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 07 Python
Python面向对象编程之类的概念
Nov 01 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
数据库的日期格式转换
2006/10/09 PHP
自动分页的不完整解决方案
2007/01/12 PHP
frename PHP 灵活文件命名函数 frename
2009/09/09 PHP
php 数据结构之链表队列
2017/10/17 PHP
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
Javascript 继承机制的实现
2009/08/12 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
jQuery实现可拖拽的许愿墙效果【附demo源码下载】
2016/09/14 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
js实现本地时间同步功能
2017/08/26 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
2020/07/20 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
Linux Interview Questions For software testers
2013/05/17 面试题
介绍一下Linux文件的记录形式
2013/09/29 面试题
企业口号大全
2014/06/12 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
2014法院四风问题对照检查材料思想汇报
2014/10/04 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
公司总经理岗位职责
2015/04/01 职场文书
民事答辩状格式范文
2015/05/21 职场文书
世界文化遗产导游词
2019/08/07 职场文书