基于python的注释和注释处理工具。
annopyte的Python项目详细描述
概述
这是为了向python对象a-laJava Annotations添加和处理注释而设计的。
注释只是元数据,不是代码本身直接使用的,而是程序其他部分可以查询的。
python本身不需要特殊的低级实现来支持元数据,这个库的目标只是提供 从python对象设置和查询元数据的标准方法。
python 3实际上包含了元数据的一个基本版本,但它仅限于函数的参数和返回值;这个库被设计为扩展 这种对其他对象的支持,因此您可以用任何类型的数据注释类、函数或任何对象。
当前状态
当前包含与PEP-3107兼容的签名批注实现 对于python 2.x.
示例代码
基本功能注释:
>>> from annopyte.annotations.signature import annotate_f >>> @annotate_f("return_value_annotation", param1="asd", param2="fgh") ... def myfunc(param1, param2=None): ... pass ... >>> print myfunc.__annotations__ {'return': 'return_value_annotation', 'param2': 'fgh', 'param1': 'asd'} >>>
预期代码(待完成)
这是我要实现的元数据使用的基本思想:
class Author(Annotation) name = "default" @Author(name="John Doe") class MyClass(object): pass >>> query_for_metadata("mypackage", Author, name="John Doe") [<class 'mypackage.subpackage.MyClass'>] >>>
就这样。
联系我
alan franzoni<;用户名atfranzoni.eu>;(请注意:在电子邮件地址中按字面意思写用户名!)