python
主页 > 脚本 > python >

python通过闭包实现计算器功能

2020-02-22 | 秩名 | 点击:

满足闭包的条件:

1、函数中嵌套一个函数

2、外层函数的返回值是内层函数的函数名

3、内层嵌套函数对外部作用域有一个非全局变量的引用

闭包的作用:

实现数据锁定

装饰器的作用:

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

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

代码示例:

def scope(func):
  def calc(a, b):
    try:
      _a = float(a)
      _b = float(b)
    except:
      _a = 0
      _b = 0
    return func(_a, _b)
  return calc
 
 
@scope
def add(a, b):
  return a + b
 
 
@scope
def sub(a, b):
  return a - b
 
 
@scope
def mul(a, b):
  return a * b
 
 
@scope
def div(a, b):
  try:
    return a / b
  except ZeroDivisionError as error:
    print(error)
    return 0
 
 
# 调用闭包函数
res = scope(add)("1", 3)
print(res)
 
res = add("1", "2")
print(res)
 
res = sub("1", "2")
print(res)
 
res = mul("1", "2")
print(res)
 
res = div("1", "2")
print(res)

原文链接:https://www.cnblogs.com/benben-wu/p/12104448.html
相关文章
最新更新