在之前有过闭包的概念后。那么横空出世的装饰器,让闭包更加的升华了。 古人云,利器啊!
其实闭包的概念,不止是在python 语言中独有的,像我们大名鼎鼎的java语言中也有,但是相对
我们超简洁,python语言来说,哈哈!闭包运用的更加灵活。对了,听说,
那go语言对闭包比Pythonj继承的更好。废话不多说! 上我们装饰器!
那么有人问了, 为啥要装饰器了。我说装饰器是为了在不改变代码的情况下,添加新的功能。
你肯定觉得,我去,你说的是个啥意思! 那么我们上代码, 演示你给看看!
项目的基础平台:
# 小区门禁系统 拍照---->判断
"""
拍照
内部车:直接抬杆
外部车:抬杆 计时
拍照:
内部车:直接抬杆
外部车:结束及时,计算时间,计算费用
"""
def f1():
print("拍照,闪光灯")
def f2():
print("抬杠,落")
def f3():
print("语音输出!")
# 领导说了,要增加验证功能!
! 那么现在领导说要增加验证功能?那么你该怎么写,
难道你这样写
def f1():
chenck("__验证通过1!__")
print("拍照,闪光灯!")
def f2():
check("__验证通过2__")
print("落, 起")
def f3():
check("__验证通过3__")
print("落, 起")
# 然后第二天老板找你以后, 说你走吧 哈哈 !
老板辞退人了以后找了一个好一点程序员
这家伙聪明啦!这样来写!
def w1(func):
def check_login():
print("--------------验证---------------")
print("--------------验证---------------")
print("--------------验证---------------")
return func()
return check_login
@w1 # f1 = w1(f1)
def f1():
print("拍照,闪光灯")
@w1
def f2():
print("抬杆、落杆")
@w1
def f3():
print("语音输出")
# 然后老板会心的笑啦,小伙子不错吗!可以可以
然后这个小伙子成功加薪!