Trim.NAMESTREST提供一个类,它可以像字典一样使用(或者通过属性访问),但是可以使用一组预定义的可能的键值。

tri.named-struct的Python项目详细描述


https://travis-ci.org/TriOptima/tri.named-struct.svg?branch=masterhttp://codecov.io/github/TriOptima/tri.named-struct/coverage.svg?branch=master

三.命名结构

named_struct提供的类可以像字典一样使用,但是有一组预定义的可能的键值。

示例

fromtri_named_structimportNamedStructclassMyNamedStruct(NamedStruct):foo=NamedStructField()bar=NamedStructField()m=MyNamedStruct(17,42)assertm['foo']==17assertm.foo==17assertm==dict(foo=17,bar=42)m.not_foo# Will raise an AttributeError

可以提供默认值:

fromtri_named_structimportNamedStructclassMyNamedStruct(NamedStruct):foo=NamedStructField()bar=NamedStructField()baz=NamedStructField(default='default')assertMyNamedStruct(17)==dict(foo=17,bar=None,baz='default')

默认值也可以由工厂方法提供:

fromtri_named_structimportNamedStructclassMyNamedStruct(NamedStruct):foo=NamedStructField(default_factory=list)assertMyNamedStruct().foo==[]

还有一种函数方法可以定义一个NamedStruct子类:

fromtri_named_structimportnamed_structMyNamedStruct=named_struct('foo, bar')m=MyNamedStruct(17,42)assertm.foo==17assertm.bar==42

运行测试

您需要安装tox,然后只要make test

许可证

bsd

变更日志

1.0.0(2019-06-10)

  • 已将包从tri.named撸struct重命名为tri撸struct
  • 放弃python2支持

0.12.0(2016-08-30)

  • 修复命名结构字段的类级重写。

0.11.0(2016-05-06)

  • 修正子类init方法中显式设置的默认值阴影。

0.10.0(2016-01-12)

  • 添加了default_factory参数以通过回调指定默认值。

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

推荐PyPI第三方库


热门话题
java如何在片段中使用listView?   java Android Studio:在不同的活动中使用“OnClick”方法?   设置IntelliJ时,java字符未正确显示   如何使用Java解析每个不同键和值的JSON对象?   简单的java AI响应程序?   java更改进程中不确定对话框的颜色   java类型不匹配:无法在eclipse中从双精度转换为整数   java如何理解我的类的属性是否已更改   xml Java Jena API获取另一个类的属性   java在JPanel上缩放和加载地图分幅   java在安卓 studio上使用工具栏的正确方法是什么?   java使用基于iText Core的OpenPdf从pdf页面删除或更新添加的图像图标   JavaFacebookGraphAPI在第一次请求时返回400,在第二次请求时返回200,这两个请求是相同的   java如何在DynamoDB中实现选择和插入项作为一个事务   java如何使用MAVEN运行方法?   (如何)在Java三元运算符语句中捕获异常?   java如何使用Hibernate SchemaExport和BeanValidation约束导出数据库模式?   java如何在weblogic中使用hibernate代替eclipselink?   Java读socketTcp更快