更多的点!点访问python命令,如javascript

mo-dots的Python项目详细描述


更多的点!

BranchStatus
masterBuild Status
devBuild StatusCoverage Status

概述

这个库定义了一个Data类,它可以作为dict的替换,并具有其他特性。

>>> from mo_dots import wrap, Data

有关mo-dots

的所有功能,请参见full documentation

易于定义

使用命名参数定义Data,就像dict

>>> Data(b=42, c="hello world")
Data({'b': 42, 'c': 'hello world'})

也可以包装现有的^ {< CD2>}s,这样它们就可以像^ {CD1>}

一样使用。
>>> wrap({'b': 42, 'c': 'hello world'})
Data({'b': 42, 'c': 'hello world'})

点访问

使用属性点访问属性:a.b == a["b"]。你可能以前见过这个。

路径访问

通过点分隔路径访问属性。

>>> a = wrap({"b": {"c": 42}})
>>> a["b.c"] == 42
True

安全通道

如果一个属性不存在,则返回^ {< CD9>},而不是引发错误。

>>> a = Data()
a == {}
>>> a.b == None
True
>>> a.b.c == None
True
>>> a[None] == None
True

路径分配

无需制作中间dicts

>>> a = Data()
a == {}
>>> a["b.c"] = 42   # same as a.b.c = 42
a == {"b": {"c": 42}}

路径累积

使用+=添加到属性;默认值为零(0

>>> a = Data()
a == {}
>>> a.b.c += 1
a == {"b": {"c": 1}}
>>> a.b.c += 42
a == {"b": {"c": 43}}

使用带有列表([])的+=附加到列表;默认空列表([]

>>> a = Data()
a == {}
>>> a.b.c += [1]
a == {"b": {"c": [1]}}
>>> a.b.c += [42]
a == {"b": {"c": [1, 42]}}

在python中转换json数据

这个库是数据转换代数的基础:我们需要一种用python转换数据的简洁方法。我们希望对数据的操作产生更多的数据。我们不希望数据操作引发异常。这个库解决了python在操作数据对象时在点(.)和切片[::]运算符下缺乏一致性(缺少闭包)的问题。

Full documentation

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
有没有一种方法可以将不同的java web应用程序组合到一个web应用程序(war)中而不相互影响?   java一次屏蔽两位   java如何在多个类上初始化元素?   java在后台服务中处理通知或使用GCM(或其他推送通知服务)   java从const方法调用JNI函数   javascript如何使用函数/方法返回?   Java优化:声明类变量与使用临时变量   java字符算术基数8 vs基数10   Java流收集要存储的对象列表   swing我正在用Java中的keyListener制作一个精灵移动器   在Gradle构建脚本中使用Scala(或java)方法   java Android Mediaplayer下一步按钮不起作用   Java Sound API在播放音频文件后将其锁定   java将变量从外部类传递到内部类的最佳方法   使用play framework的博客web应用程序出现java逻辑错误   java我们可以在Spring批处理中处理大型zip文件吗?   java如何检查JTable的选定行的特定列中的值是否已经在JList中?