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 性能优化技巧总结
Nov 01 Python
Python探索之ModelForm代码详解
Oct 26 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
Python中文件的读取和写入操作
Apr 27 Python
Python3爬虫全国地址信息
Jan 05 Python
Django继承自带user表并重写的例子
Nov 18 Python
Python如何使用vars返回对象的属性列表
Oct 17 Python
Python用户自定义异常的实现
Dec 25 Python
python状态机transitions库详解
Jun 02 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 Python
Django路由层如何获取正确的url
Jul 15 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连mysql和oracle数据库性能比较
2006/10/09 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
php实现数据库的增删改查
2017/02/26 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
Vue.js搭建移动端购物车界面
2020/06/28 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
Python装饰器用法与知识点小结
2020/03/09 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
Python修改DBF文件指定列
2020/12/19 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
Ruby如何创建一个线程
2013/03/10 面试题
英文简历中的自我评价用语
2013/12/09 职场文书
社区活动邀请函范文
2014/01/29 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
煤矿安全生产标语
2014/06/06 职场文书
重阳节活动总结
2014/08/27 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
关于MySQL中的 like操作符详情
2021/11/17 MySQL
DQL数据查询语句使用示例
2022/12/24 MySQL