python-用闭包(装饰器)实现计算器的功能
发布时间:2020-12-17 17:07:11 所属栏目:Python 来源:网络整理
导读:满足闭包的条件: 1、函数中嵌套一个函数 2、外层函数的返回值是内层函数的函数名 3、内层嵌套函数对外部作用域有一个非全局变量的引用 闭包的作用: 实现数据锁定 装饰器的作用: 就是为已经存在的对象添加额外的功能。 常用场景: 插入日志、性能测试、事
满足闭包的条件: 1、函数中嵌套一个函数 闭包的作用: 实现数据锁定 装饰器的作用: 就是为已经存在的对象添加额外的功能。 插入日志、性能测试、事务处理、缓存、权限校验等 代码示例: 1 def scope(func): 2 def calc(a,b): 3 try: 4 _a = float(a) 5 _b = float(b) 6 except: 7 _a = 0 8 _b = 0 9 return func(_a,_b) 10 return calc 11 12 13 @scope 14 def add(a,b): 15 return a + b 16 17 18 @scope 19 def sub(a,b): 20 return a - b 21 22 23 @scope 24 def mul(a,b): 25 return a * b 26 27 28 @scope 29 def div(a,b): 30 try: 31 return a / b 32 except ZeroDivisionError as error: 33 print(error) 34 return 0 35 36 37 # 调用闭包函数 38 res = scope(add)("1",3) 39 print(res) 40 41 res = add("1","2") 42 print(res) 43 44 res = sub("1","2") 45 print(res) 46 47 res = mul("1","2") 48 print(res) 49 50 res = div("1","2") 51 print(res) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |