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的Tornado框架对子域名和泛域名的支持
May 02 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
Python实现破解猜数游戏算法示例
Sep 25 Python
Windows上使用Python增加或删除权限的方法
Apr 24 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
python实现列表的排序方法分享
Jul 01 Python
python制作朋友圈九宫格图片
Nov 03 Python
Python 面向对象之封装、继承、多态操作实例分析
Nov 21 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
浅谈pytorch池化maxpool2D注意事项
Feb 18 Python
python 实现批量图片识别并翻译
Nov 02 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
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
浅析PKI加密解密 OpenSSL
2013/07/01 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
jQuery 打造动态下滑菜单实现说明
2010/04/15 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
jQuery实现友好的轮播图片特效
2015/01/12 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
layui文件上传实现代码
2017/05/20 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
Python实现partial改变方法默认参数
2014/08/18 Python
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
django框架防止XSS注入的方法分析
2019/06/21 Python
python实现指定ip端口扫描方式
2019/12/17 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
python对一个数向上取整的实例方法
2020/06/18 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
新闻网站实习自我鉴定
2013/09/25 职场文书
应届生会计求职信
2013/11/11 职场文书
公司人力资源的自我评价
2014/01/02 职场文书
社团活动总结报告
2014/06/27 职场文书
唐山大地震观后感
2015/06/05 职场文书
PYTHON基于Pyecharts绘制常见的直角坐标系图表
2022/04/28 Python