字典作为一个对象,可以有不同的视图

Thing的Python项目详细描述


https://img.shields.io/pypi/v/thingy.svghttps://img.shields.io/github/license/numberly/thingy.svghttps://img.shields.io/travis/numberly/thingy.svghttps://img.shields.io/coveralls/numberly/thingy.svghttps://readthedocs.org/projects/python-thingy/badge

字典作为对象,可以有不同的字典视图!

安装

$ pip install thingy

示例

字典作为对象…

>>>classMyThingy(Thingy)...@property...deffoobaz(self):...returnself.foo+self.baz>>>thingy=MyThingy({"foo":"bar","baz":"qux"})>>>thingy.foo"bar">>>thingy.foobaz"barqux">>>thingy.foo="BARRRR">>>thingy.view(){"foo":"BARRRR","baz":"qux"}

…可以有不同的字典视图!

>>>MyThingy.add_view(name="fooz",include=["foo","foobaz"])>>>MyThingy.add_view(name="no_foo",defaults=True,exclude="foo")>>>thingy=MyThingy({"foo":"bar","baz":"qux"})>>>thingy.view("fooz"){"foo":"bar","foobaz":"barqux"}>>>thingy.view("no_foo"){"baz":"qux"}

为什么这样?

因为写foo.bar比写foo["bar"]有趣得多。

thingy主要用于其他库中提供抽象 over字典,这对于编写orms或类似的实用程序很有用。

Thingy的视图系统也特别有用 操作字典,并经常将这些字典限制为一些多余的 项目。

测试

运行测试:

  • 使用pip install -r requirements.txt
  • 安装开发人员需求
  • 运行pytest

许可证

麻省理工学院

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

推荐PyPI第三方库


热门话题
java Eclipse内存分析器(MAT):不显示当前正在运行的进程   java Apache Velocity:转义字符不能作为关联数组键用于PHP   不截断零的java格式十进制输出   在另一个类文件中调用时返回空值的java getter   java集合获取连接   java解析json使用Gson登录系统应用程序强制关闭   java DelferredResult带有两个请求的ajax请求   java可降低功耗,同时应使用无线   java BoxLayout无法共享错误?   java如何使用计时器制作闹钟   java使用OAuth2保护RESTWeb服务:一般原则   java在一个jframe上显示多个图像和按钮