python语法基础(7)_闭包与装饰器
闭包:
啥是闭包:嵌套函数内,使用非全局变量就是闭包
闭包干啥的:保证数据的安全性,装饰器使用
装饰器
那什么是装饰器呢?
装饰器的本质其实就是闭包
装饰器是干什么的呢?
少重复代码,可读性好
@装饰器函数 == 重新定义被装饰函数=装饰器函数(被装饰函数)
例子如下
import time
user = 'SkyRabbit '
passwd = 'SkyRabbit'
def auth(auth_type):
print("auth func:",auth_type)
def outer_wrapper(func):
def wrapper(*args, **kwargs):
print("wrapper func args:",*args, **kwargs)
if auth_type == "local":
usernmae = input("用户名>>>>>")
password = input("密码>>>>>>")
if user == usernmae and passwd == password:
print("\033[32;1mUser\033[0m")
return func(*args, **kwargs)
else:
exit("\033[31;1m错误\033[0m")
return wrapper
return outer_wrapper
def index():
print("in index")
@auth(auth_type = "local")
def home(name):
print("in home",name)
return "from home"
print(home('alex'))
index()
道,可道,非常道;名,可名,非常名。

浙公网安备 33010602011771号