自学Python--函数内置方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41402059/article/details/82353963

函数内置方法:

函数的名字和注释:

def test():
    '''
    这里是注释
    '''
    print('this is test')

name = test.__name__
doc = test.__doc__
print(name) # test
print(type(name)) # str
print(doc) # 这里是注释

被装饰函数的内置方法:

正常的内置函数因为本质上是调用了装饰器里的inner函数,所以不能正常调用函数内置方法

需要使用functools模块的wraps达到正常调用被装饰函数内置方法的目的:

from functools import wraps


def wrapper(f):
    @wraps(f)
    def inner(*args, **kwargs):
        print('before test')
        res = f(*args, **kwargs)
        print('after test')
        return res
    return inner

@wrapper
def test():
    '''
    这里是注释
    '''
    print('this is test')

test() # before test this is test after test
name = test.__name__
doc = test.__doc__
print(name) # test
print(type(name)) # str
print(doc) # 这里是注释

猜你喜欢

转载自blog.csdn.net/weixin_41402059/article/details/82353963