Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
80 views
in Technique[技术] by (71.8m points)

Modify function signature and docstring in Python decorator

I have a decorator that reduce the function parameters, and I want to show it in the python help. A dummy example:

# The decorator
def dummy_decor(fun):
    def wrapper(*argv, **kwargs):
        n = 5
        return fun(n, *argv)
    return wrapper 

# functions to decorate
def summ(a,b):
    return a+b

def summm(a,b,c):
    return a+b+c

# The new functions
new_summ = dummy_decor(summ)
new_summm = dummy_decor(summm)

I will use the original function and the decorated ones. If I do a help(new_summ) the output is:

Help on function wrapper in module __main__:

wrapper(*argv, **kwargs)

But I want this:

Help on function summ in module __main__:

summ(a)
question from:https://stackoverflow.com/questions/65831708/modify-function-signature-and-docstring-in-python-decorator

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...