1. 程式人生 > 程式設計 >python如何通過閉包實現計算器的功能

python如何通過閉包實現計算器的功能

這篇文章主要介紹了python如何通過閉包實現計算器的功能,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

滿足閉包的條件:

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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。