简介
1.装饰器是什么?装饰器是一个函数。
2.装饰器就像是它的名字一样,是用来装饰的。
3.装饰器是用来装饰什么的呢?是用来装饰其他函数的。
4.它的用途是啥?
举一个例子,你要做一个网站的首页,每次你登录时都需要校验。你可以在你每次登录时,给你的核心函数,加一个装饰器。让装饰器对你的核心函数进行“增强”和“处理”,从而达到每次调用核心函数,他这个核心函数就自带校验的功效。
少废话,看代码
1.
# coding:utf-8
# 传入参数是函数
def a(func):
# 内联函数
def inner(*args, **kwargs):
# 对传入的函数进行处理
result = func(*args, **kwargs)
# 传入函数的结果进行校验
if result == "ok":
print("result is %s" % result)
else:
print("result is failed:%s" % result)
# 返回内联函数
return inner
# 装饰器
@a
def test(name):
return name
# 调用test函数。test函数带有装饰器进行函数增强
test("123")
结果:

2.
# coding:utf-8
# 传入参数是函数
def a(func):
# 内联函数
def inner(*args, **kwargs):
# 对传入的函数进行处理
result = func(*args, **kwargs)
# 传入函数的结果进行校验
if result == "ok":
print("result is %s" % result)
else:
print("result is failed:%s" % result)
# 返回内联函数
return inner
# 装饰器
@a
def test(name):
return name
# 调用test函数。test函数带有装饰器进行函数增强
test("ok")
结果:

3.
# coding:utf-8
# 传入参数是函数
def a(func):
# 输出传入参数
print(func)
# 内联函数
def inner(*args, **kwargs):
# 输出传入参数
print(args)
# 对传入的函数进行处理
result = func(*args, **kwargs)
# 传入函数的结果进行校验
if result == "ok":
print("result is %s" % result)
else:
print("result is failed:%s" % result)
# 返回内联函数
return inner
# 装饰器
@a
def test(name):
return name
# 调用test函数。test函数带有装饰器进行函数增强
test("ok")
结果:

本文介绍了装饰器的概念及其在Python中的实现方式。装饰器是一种特殊类型的函数,用于增强其他函数的功能,例如添加权限验证等。文章通过具体示例展示了装饰器的工作流程。
8286

被折叠的 条评论
为什么被折叠?



