我正在用eclipse和pydev编辑我的python源代码。
我希望记录所有函数,并在函数尚未实现时引发“未实现”异常。
例如,当我键入:

def foo(bar1,bar2):

输入时,我希望它自动完成:
def foo(bar1,bar2):
'''
function foo
@param bar1:
@type:
@param bar2:
@type
'''
raise NotImplementedError("")

PyDev或Eclipse中是否已经有一个选项可以执行此操作?如果没有,是否有一个单独的python模块或脚本可以正确地执行此操作?

最佳答案

目前,已经可以生成文档。
例如:在“def”行中,按ctrl+1将显示一个选项“generated docstring”(这些docstring的格式可以在“首选项>pydev>编辑器>代码样式>docstrings”中定义)。
至于raise NotImplementedError(""),目前无法自动添加。
就我个人而言,我使用的是一个“抽象”的装饰,比如:

def abstract(func):

def wrapper(self, *args, **kwargs):
    msg = 'Method %r not implemented in class %r.' % (func.__name__, self.__class__)
    raise NotImplementedError(msg)

wrapper.__name__ = func.__name__
wrapper.__doc__ = func.__doc__
return wrapper

然后使用:
@abstract
def my_func(xxx, yyy):
    ...

这样,如果有人调用了您的代码,消息看起来会更好:)

关于python - 使用docstring和“Not Implemented”异常预填充Eclipse和Pydev中的新函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20599459/

10-11 02:21