我有这个密码:
class User:
def __init__(self, name):
self.name = name
self.is_logged_in = False
def is_authenticated_decorator(function):
def wrapper(*args, **kwargs):
if args[0].is_logged_in == True:
function(args[0])
return wrapper
@is_authenticated_decorator
def create_blog_post(user):
print(f"This is {user.name}'s new blog post.")
new_user = User("angela")
new_user.is_logged_in = True
create_blog_post(new_user)
我不明白create_blog_post(user)
的参数是如何在包装器的输入中获取的.
我知道
@is_authenticated_decorator
def create_blog_post(user):
相当于
create_blog_post = is_authenticated_decorator(create_blog_post)
我知道create_blog_post
成了包装纸
我知道create_blog_post(user)
次呼叫wrapper(user)
次.
我就是不明白怎么做?!
有人能解释一下用户参数最终进入包装器函数的路径吗?