类似于zope.interface,只是简单一些,还有一些附加功能。
nr.interface的Python项目详细描述
nr.interface
–类似于zope.interface
,只是简单一些,还有一些额外的功能
示例
在这里,我们声明一个名为ParameterInterface
的接口。所有实现者
这个接口的params
成员由
接口__init__()
方法调用__constructed__()
方法
当实现已完全构造完成时
importnr.interfaceclassParameterInterface(nr.interface.Interface):params=nr.interface.attr(dict)def__init__(self):self.params={}def__constructed__(self):self.declare_parameters()defdeclare_parameters(self):pass
可能的实现方式如下:
classMyParameters(nr.interface.Implementation):nr.interface.implements(ParameterInterface)defdeclare_parameters(self):self.params['depth']=32obj=MyParameters()assert(obj.params['depth']==32)
更改
1.0.4(2018-08-18)
- 将缺少的
namespace_packages
参数添加到setup.py
1.0.3(2018-06-03)
- 修复Python 2兼容性
1.0.2(2018-05-28)
- 在接口声明中添加对属性的支持
- 添加装饰符
final()
- 将
InvalidImplementationError
重命名为ImplementationError
- 修复
get_conflicting_members()
版权所有©2018 Niklas Rosenstein