i want to show docstring of my function, but if i use like this
@cost_time
def func():
    "define ...."
    blabla
print func.__doc__
it will not show the docstring,just because i use some meta programming tricky, how can fix this?
Your wrapped function returned from the cost_time decorator must have the docstring instead of func. Therefore, use functools.wraps which correctly sets __name__ and __doc__:
from functools import wraps
def cost_time(fn):
    @wraps(fn)
    def wrapper():
        return fn()
    return wrapper
