Python学习笔记
1.装饰器

装饰器的@这种写法,其实就是把hello这个函数当作参数传入到名字为wdc的函数中去,并把函数wdc的返回值重新赋值给变量hello。
# 不带参数的装饰器 def welcome(fn): def wrapper(*args, **kwargs): print(f"welcome") res = fn(*args, **kwargs) return res return wrapper @welcome def my_fun(test_str): print(f"你好{test_str}") my_fun('666') # 相当于如下: # my_fun = welcome(my_fun) # my_fun('666')
# 带参数的装饰器 def welcome(name): def decorator(fn): def wrapper(*args, **kwargs): print(f"welcome:{name}") res = fn(*args, **kwargs) return res return wrapper return decorator @welcome("wdc") def my_fun(test_str): print(f"你好{test_str}") my_fun('666') # 相当于如下: # welcome = welcome("wdc") # my_fun = welcome(my_fun) # my_fun('666')

浙公网安备 33010602011771号