一:装饰器

  1)什么是装饰器

    装饰器的本质就是利用闭包,在满足开放(修改函数锁包含的功能)封闭(不改变源代码)的情况下完成操作。

  2)装饰器的基本运用

def name_judge(f):
def a(name,password):
if len(name)>=3:
print("账号验证成功")
res=f(name,password)
return res
print("账号验证失败")
return a @name_judge
def register(name,password):
if name == "abc" and password == 123456:
print("登录成功")
return
return

  3)带参装饰器

def c(c):
def a(f):
def d(a,b):
if int(a)<3 and int(b)<3:
print("素材判断成功",c)
return
print("素材判断失败")
return
return d
return a
@c(123)
def pd(a,b):
if a==1 and b==2:
return "判断成功"
return "判断失败" pd("","")

最新文章

  1. springmvc+spring+hibernate
  2. python-基础介绍
  3. [C#进阶系列]专题一:深入解析深拷贝和浅拷贝
  4. jQuery4ajax
  5. 第一篇:GCD的使用
  6. JBehave
  7. 201521123060 《Java程序设计》第6周学习总结
  8. AspectCore.Extension.Reflection : .NET Core反射扩展库
  9. 扩展Lucas定理
  10. [BZOJ]1003 物流运输(ZJOI2006)
  11. 最简单的视频网站(JavaEE+FFmpeg)
  12. disabled和readonly区别
  13. 【Codeforces 710F】String Set Queries
  14. 8.0-uC/OS-III临界段
  15. Operation(Swift)
  16. ef linq 中判断实体中是否包含某集合
  17. 多态、抽象类、接口_DAY09
  18. (原创)PetaPoco使用小记(2014-5-5更新)
  19. Eclipse内存讲解,eclipse.ini设置
  20. Kylin使用笔记-0: kylin介绍

热门文章

  1. pcl文档库
  2. MapReduce的初次尝试
  3. real-Time Correlative Scan Matching
  4. mysql存储过程和触发器
  5. yii\bootstrap
  6. javascript总结22: javascript的对象--面向对象编程
  7. MongoDBAppender
  8. 编写高质量代码改善C#程序的157个建议——建议102:区分接口和抽象类的应用场合
  9. hadoop大致问题
  10. Android-Observer(内容观察者)