首页 > 编程语言 > 详细

python-用闭包(装饰器)实现计算器的功能

时间:2019-12-26 21:50:41      阅读:81      评论:0      收藏:0      [点我收藏+]

满足闭包的条件:

1、函数中嵌套一个函数
2、外层函数的返回值是内层函数的函数名
3、内层嵌套函数对外部作用域有一个非全局变量的引用

闭包的作用:

实现数据锁定

装饰器的作用:

就是为已经存在的对象添加额外的功能。
常用场景:

插入日志、性能测试、事务处理、缓存、权限校验等

代码示例:

 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)

python-用闭包(装饰器)实现计算器的功能

原文:https://www.cnblogs.com/benben-wu/p/12104448.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!