python-用闭包(装饰器)实现计算器的功能
发布时间:2020-05-25 01:22:07 所属栏目: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) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
