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函数的笔记整理
Apr 07 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 Python
python开发中module模块用法实例分析
Nov 12 Python
Python的自动化部署模块Fabric的安装及使用指南
Jan 19 Python
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
Python+threading模块对单个接口进行并发测试
Jun 25 Python
Python单例模式的四种创建方式实例解析
Mar 04 Python
如何学习Python time模块
Jun 03 Python
了解一下python内建模块collections
Sep 07 Python
用ldap作为django后端用户登录验证的实现
Dec 07 Python
pytorch 6 batch_train 批训练操作
May 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
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
PHP自动生成表单代码分享
2015/06/19 PHP
PHP浮点数的一个常见问题
2016/03/10 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
2018/04/04 PHP
php新建文件的方法实例
2019/09/26 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
详解axios在vue中的简单配置与使用
2017/05/10 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
JavaScript工具库之Lodash详解
2019/06/15 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
window下eclipse安装python插件教程
2017/04/24 Python
解决Python3.5+OpenCV3.2读取图像的问题
2018/12/05 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
Python如何实现定时器功能
2020/05/28 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
核心价值观演讲稿
2014/05/13 职场文书
民间借贷被告代理词
2015/05/23 职场文书
公诉意见书范文
2015/06/05 职场文书
小学语文国培研修日志
2015/11/13 职场文书
网络研修随笔感言
2015/11/18 职场文书
2019各种保证书范文
2019/06/24 职场文书