'''
在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)