【发布时间】:2014-01-10 16:05:10
【问题描述】:
在下面的示例代码中,我们有一个未修饰的函数fun() 和一个修饰的函数wrappedfun()。
对于未修饰的函数fun,在函数名称后面的左括号后按 IPython 笔记本中的 TAB 会显示调用签名为fun(x=0, y=1),但对于修饰的版本wrappedfun,您将获得完成为wrappedfun(*args, **kwargs)。有没有办法告诉 IPython 在 TAB 完成期间显示原始调用签名?
from functools import wraps
def mywrapper(func):
''' simple wrapper '''
@wraps(func)
def wrapper(*args, **kwargs):
print('inside wrapper')
return func(*args, **kwargs)
return wrapper
def fun(x=0, y=1):
''' Docstring for fun '''
return x + y
@mywrapper
def wrappedfun(x=0, y=1):
''' Docstring for wrapped another fun '''
return x + y
【问题讨论】:
标签: python ipython ipython-notebook