TypeError: 'NoneType' object is not callable

来源:2-1 自动化测试与测试开发的关系

慕码人4083977

2022-05-19

请教一下这个问题是什么原因?找了好久,找不到原因

下面为原代码

from functools import wraps

def func_2(func):
    """
    无参的函数装饰器
    :param func:
    :return:
    """
    @wraps(func)
    def wrap_func(*args, **kwargs):
        print("开始执行" + func.__name__())
        func(*args, **kwargs)  # 被装饰函数
        print("执行完成", + func.__name__())
        # 返回函数对象而不是函数的执行结果,(如果后面带括号,则是返回函数的执行结果)
        return wrap_func


@func_2
def func_1():
    """
    用func_2装饰func_1,==》 func_2(func_1) ==》 wrap_func
    调用func_1() ==》wrap_func()
    业务函数
    :return:
    """
    print("正在执行" + func_1.__name__)

func_1()

运行报错如下:

图片描述

写回答

1回答

慕码人4083977

提问者

2022-05-19

尴尬了!return wrap_func 这句语法格式有问题!往前移两个空格即可

0
0

Python自动化测试开发实战,能帮你就业的测试课

开发高扩展、高可用的自动化测试框架,利用好测试自动化技术。

445 学习 · 157 问题

查看课程