作为装饰器实现的简单属性检查器

attrcheck的Python项目详细描述


属性检查:属性检查

This module provides a simple attribution checker implemented as a decorator. All functionality are provided as keyword arguments of the decorator.

Sample example of usage is following:

>>> from attrcheck import attrcheck
>>> @attrcheck(x=['real'], y=['index', 'strip'], z=dir(list))
... def foo(x, y, z=[]): pass

上面的代码表示以下内容:

>>> def foo(x, y, z=[]):
...     if not hasattr(x, 'real'):
...         raise AttributeError
...     if not hasattr(y, 'index'):
...         raise AttributeError
...     if not hasattr(y, 'strip'):
...         raise AttributeError
...     for name in dir(list):
...         if not hasattr(z, name):
...             raise AttributeError

此外,attrcheck可以检查默认参数值。 因此,下面的代码抛出attributerror。

>>> @attrcheck(y=dir(str))
... def bar(x, y=[]): pass

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

推荐PyPI第三方库


热门话题
从文本文件中读取的java错误字符   java无法进入指定的URL   java如何将JSON转换为简单的2D数组?   java是否有任何SaaS可以生成hightlight代码并与他人共享?   java有没有api来创建我的视频的thumbnil,它出现在我自己的服务器上而不是其他服务器上?   java如何在课堂上总结对话?   java Gmail登录自动化代码卡在电子邮件字段   java无法使用改装和GSON堆栈溢出解析JSON   java我的程序没有读取我的文本文件?   将结果集传递给Java方法的泛型   java BufferedReader readLine()方法占用了很多时间   javascript新的Selenium IDE,如何编写具有存储属性的条件语句   java在服务器上修改正在下载的文件时会发生什么情况?   如何将多个GuidInject实现与多个java界面结合使用?   java如何在iPhone real设备上检查和编写xpath