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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
介绍Python中内置的itertools模块
Apr 29 Python
Python Socket传输文件示例
Jan 16 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
Sep 12 Python
高效使用Python字典的清单
Apr 04 Python
python pandas 对时间序列文件处理的实例
Jun 22 Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 Python
对Python3 * 和 ** 运算符详解
Feb 16 Python
PyQt5 实现给窗口设置背景图片的方法
Jun 13 Python
选择python进行数据分析的理由和优势
Jun 25 Python
python双向链表实例详解
May 25 Python
Python 读取千万级数据自动写入 MySQL 数据库
Jun 28 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 高并发解决的一点思路
2017/04/16 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python3实现二叉树的最大深度
2019/09/30 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
Python递归实现打印多重列表代码
2020/02/27 Python
30行Python代码实现高分辨率图像导航的方法
2020/05/22 Python
html5的localstorage详解
2017/05/09 HTML / CSS
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
eBay加拿大站:eBay.ca
2019/06/20 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
explicit和implicit的含义
2012/11/15 面试题
大学生护理专业自荐信
2013/10/03 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
决心书标准格式
2014/03/11 职场文书
医药销售自我评价200字
2014/09/11 职场文书
学习心理学的体会
2014/11/07 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle