python - 如何修复留在装饰器中的非类型错误
问题描述
错误问题“创建了一个字典名称 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
解决方案
return wrap
缩进一级太远了。
推荐阅读
- java - 为什么我们不能使用 RuntimeException 而不是创建自定义异常?
- reactjs - 您在查询中使用片段,没有添加类型名
- sql-server - 在 sql-server 中执行自由文本时使用“\+”关键字有什么用?
- javascript - 将功能拆分为较小的功能
- python-3.x - Spyder 控制台 - 启动内核时发生错误
- c# - 停止执行方法
- c++ - 亮度键未触发 LowLevelKeyboardProc 挂钩
- django - 带有 libapache2-mod-wsgi-py3 的 Docker 映像“httpd”
- database-design - 如何设计架构以读取同时更新的巨大数据库表
- sql - 如何为上夜班的员工安排退房时间