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类之间并发性不一致的HashMap   插件如何在JavaSwing中使用UIManager和Classloader从外部jar安装外观?   java JasperReports:找不到子报表   在项目中找不到java生成的Javadoc文件   java BigDecimal。multiply()和divide()方法返回十六进制数。为什么?   java统计出现次数并从字符串中删除重复项   调用运算符时发生java NullPointerException   Spring和Hibernate之间的java配置错误   JavaZK将用户重定向回上一页   Javasocket为传出连接指定特定的网络接口   如果拖动到某个区域外,java Make按钮操作将被取消   如何在Eclipse for selenium 3.141.59中添加Java文档链接   java从匹配条件的数组中获取所有索引   docker未连接到RemoteWebDriver的java Gitlab ci selenium测试   java重写run方法   utf 8如何使用java解码UTF8编码的字符串?   java如何从eclipse调试部署在tomcat上的web应用程序?   将字母字符与前面没有百分号的Java正则表达式匹配