python如何通過閉包實現計算器的功能
阿新 • • 發佈:2020-02-24
這篇文章主要介紹了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)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。