基于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>;(请注意:在电子邮件地址中按字面意思写用户名!)

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

推荐PyPI第三方库


热门话题
java如何在Android中发布HTTPS   java无法通过Spark 1.6从拼花配置单元表读取数据   java setDisplayHomeasUpEnabled可能会产生空点异常   Java实用程序,用于查找接口的实现类   java复利公式不起作用,在main方法和second方法中输出奇怪的数字(没有给我正确的答案)   java如何使用Maven和Tycho创建Eclipse插件版本?   Spring中所有bean的java全局销毁方法   java JBoss AS 6:DeploymentScanner未显示在JMX控制台中   简单登录活动的java错误422   java从列表<MyClass>转换到列表<Interface>   java EntityManager每DAO方法   为什么Java中的后缀操作符要从右向左求值?   JavaEE在事务之间共享资源   java如何用hashmap键填充组合框?   json在java中如何等待一个任务完成?   设计模式如何在不改变Java中被调用方法的情况下向类添加新功能