B站: 迷途小书童的Note;微信公众号: Dev_Club;个人微信:xituxiaoshutong100

Python实用模块(二十二)easydict

Python实用模块 迷途小书童 0评论

软硬件环境

视频看这里

此处是youtube的播放链接,需要科学上网。喜欢我的视频,请记得订阅我的频道,打开旁边的小铃铛,点赞并分享,感谢您的支持。

前言

easydict能够让我们使用.操作符,就像访问属性attribute那样访问字典dictionary的值。它不是内置模块,可以通过pip进行安装

pip install easydict

示例

来看看代码示例

(base) PS C:\Windows\system32> ipython
Python 3.7.6 (default, Jan  8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from easydict import EasyDict as edict

In [2]: aDict = {"p":"python", "j":"java", "s":"swift", "r":"rust"}
   ...:

In [3]: edict(aDict)
Out[3]: {'p': 'python', 'j': 'java', 's': 'swift', 'r': 'rust'}

In [4]: e = edict(aDict)

In [5]: e.p
Out[5]: 'python'

In [6]: e.j
Out[6]: 'java'

In [7]: e.s
Out[7]: 'swift'

In [8]: e.r
Out[8]: 'rust'

In [9]: e["r"]
Out[9]: 'rust'

In [10]:

示例中,我们将字典aDict传递给EasyDict得到对象e,然后就可以通过e.加上字典中的key值来访问对应的value值了。这个过程是递归的,看下面的例子

In [1]: from easydict import EasyDict as edict

In [2]: aDict = {"id":1, "data":{"name":"xugaoxiang", "sex":"male"}}

In [3]: e = edict(aDict)

In [4]: e.id
Out[4]: 1

In [5]: e.data.name
Out[5]: 'xugaoxiang'

In [6]: e.data.sex
Out[6]: 'male'

In [7]:  

同样的,我们也可以通过.操作符来给属性赋值

In [1]: from easydict import EasyDict as edict

In [2]: d = edict()

In [3]: d.name = "xugaoxiang"

In [4]: d.sex = "male"

In [5]: d
Out[5]: {'name': 'xugaoxiang', 'sex': 'male'}

参考资料

喜欢 (1)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址