[我正在练习,我试图解决它,但是没有结果,我不得不看一下解决方案,以便有一个想法并重复一遍,这个问题让我很困惑,有点迷茫。] >
# Create an @authenticated decorator that only allows the function to run is user1 has 'valid' set to True: user1 = { 'name': 'Sorna', 'valid': True } #changing this will either run or not run the message_friends function.
解决方案:
def authenticated(fn): def wrapper(*args, **kwargs): if args[0]['valid']: return fn(*args, **kwargs) return wrapper @authenticated def message_friends(user): print('message has been sent') message_friends(user1)
我真的不懂这部分:
if args[0]['valid']:
我的问题是
if user1 = dict
,为什么我不能只使用**kwards
,所以我只能通过仅调用[valid]来检查值是否为True:它来自args[0]
的位置?
[帮助,我真的很坚持。.
我正在练习,我试图解决它,但是没有结果,我不得不看一下解决方案,以便有一个想法并重复一遍,这个问题让我很困惑,有点迷茫。 #创建一个@ ...
如果将user1
作为
args[0]
,这对您有所帮助吗?@authenticated
装饰器执行以下操作: