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中使用smtplib和email模块发送邮件实例
Apr 22 Python
Python基于二分查找实现求整数平方根的方法
May 12 Python
快速查询Python文档方法分享
Dec 27 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
Python实用技巧之利用元组代替字典并为元组元素命名
Jul 11 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 Python
Python3最长回文子串算法示例
Mar 04 Python
python字符串替换第一个字符串的方法
Jun 26 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
python subprocess pipe 实时输出日志的操作
Dec 05 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字符串过滤,转换函数代码
2012/05/01 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
JavaScript中的apply()方法和call()方法使用介绍
2012/07/25 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
2016/04/27 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
django 发送手机验证码的示例代码
2018/04/25 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
python飞机大战游戏实例讲解
2020/12/04 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
2014年党员公开承诺践诺书
2014/03/25 职场文书
教师个人自我评价范文
2014/04/13 职场文书
法制宣传月活动方案
2014/05/11 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
小学运动会宣传稿
2015/07/23 职场文书
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL