首页 > 解决方案 > 如何修复留在装饰器中的非类型错误

问题描述

错误问题“创建了一个字典名称 user2,但在运行程序时发生错误。此程序用于验证已传递给用户的消息。”

代码如下。

user2 = {
    'name':'parth',
    'valid':True
    }

def authentication(func):
    def wrap(*args, **kwargs):
        if args[0]['valid']:
            return func(*args, **kwargs)
        return wrap

@authentication
def message_sent(user):
    print('The message has been delivered')

message_sent(user2)

输出是

Traceback (most recent call last):
  File "someFileName", line 16, in <module>
    message_sent(user2)
TypeError: 'NoneType' object is not callable

标签: pythondecoratornonetype

解决方案


return wrap缩进一级太远了。


推荐阅读