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使用心得之获得github代码库列表
Jun 25 Python
浅析python 中__name__ = '__main__' 的作用
Jul 05 Python
零基础写python爬虫之urllib2使用指南
Nov 05 Python
Python下Fabric的简单部署方法
Jul 14 Python
shelve  用来持久化任意的Python对象实例代码
Oct 12 Python
Python 转义字符详细介绍
Mar 21 Python
python实现下载pop3邮件保存到本地
Jun 19 Python
对Python中list的倒序索引和切片实例讲解
Nov 15 Python
python解析json串与正则匹配对比方法
Dec 20 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
利用python-pypcap抓取带VLAN标签的数据包方法
Jul 23 Python
Python Django简单实现session登录注销过程详解
Aug 06 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编写注册后Email激活验证的实例代码
2013/03/11 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
原生JS实现的放大镜特效示例【测试可用】
2018/12/08 Javascript
Vue路由切换页面不更新问题解决方案
2020/07/10 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
[13:25]VP vs VICI (BO3)
2018/06/07 DOTA
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python的Flask框架与数据库连接的教程
2015/04/20 Python
pip指定python位置安装软件包的方法
2019/07/12 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
python获取整个网页源码的方法
2020/08/03 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
少儿节目主持串词
2014/04/02 职场文书
个人授权委托书范本
2014/04/03 职场文书
财产公证书样本
2014/04/04 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
会计师事务所实习证明
2014/11/16 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
手把手教你实现PyTorch的MNIST数据集
2021/06/28 Python
Spring中bean集合注入的方法详解
2022/07/07 Java/Android