Python進階之:閉包

'''
  在Python中,閉包需要滿足三要素:
    1.定義嵌套函數,包括外層函數和內存函數
    2.內層函數要引用外層函數中的變量
    3.外層函數需要返回內層函數(注意:返回的是內層函數本身,而不是內層函數執行後的返回值)
'''

# 裝飾器是閉包的一個應用
# import time
#
# def timing(func):
#     def wrapper(*args,**kwargs):
#         start = time.time()
#         ret = func(*args,**kwargs)
#         end = time.time()
#         return ret,(end-start)
#     return wrapper
#
# @timing
# def calculate():
#     sum = 0
#     for i in range(1000*1000):
#         sum += i*i
#     return sum
#
# ret,run_time = calculate()
# print(run_time)

# 函數調用
# import time
#
# def timing(func):
#     def wrapper(*args,**kwargs):
#         start = time.time()
#         ret = func(*args,**kwargs)
#         end = time.time()
#         return ret,(end-start)
#     return wrapper
#
# def calculate():
#     sum = 0
#     for i in range(1000*1000):
#         sum += i*i
#     return sum
#
# calculate = timing(calculate)
# ret,run_time = calculate()
# print(run_time)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章