Spring中的依賴注入(DI)方式
阿新 • • 發佈:2020-12-19
什麼是閉包:
閉包是指引用了此函式外部的變數的函式
說明: 在本質上,閉包是將內部巢狀函式和函式外部的執行環境繫結在一起的物件
閉包必須滿足三個條件:
1. 必須有一個內嵌函式
2. 內嵌函式必須引用外部函式中的變數
3. 外部函式返回值必須是內嵌函式
In [5]: def get_fx(a, b, c): ...: def fx(x): ...: return a * x ** 2 + b * x + c ...: return fx ...: ...: f123 = get_fx(1, 2, 3) ...:print(f123(20)) ...: print(f123(50)) ...: ...: f654 = get_fx(6,5,4) ...: print(f654(10)) ...: print(f654(30)) ...: 443 2603 654 5554 In [6]: def make_power(y): ...: def fn(arg): ...: return arg ** y ...: return fn ...: ...: ...: pow2 = make_power(2) #請問pow2繫結的是什麼? ...: print('5的平方是:', pow2(5)) ...: ...: # 求1**2 + 2 ** 2 + 3 ** 2 + .... 100 ** 2 ...: print(sum(map(lambda x: x ** 2, range(1, 101)))) ...: print(sum(map(make_power(2), range(1, 101)))) ...: ...: print("1 ** 3 + 2**3 + ...... + 100 ** 3=") ...: print(sum(map(lambda x: x ** 3, range(1, 101)))) ...:print(sum(map(make_power(3), range(1, 101)))) ...: # print(sum(map(lambda x: x ** 3, range(1, 101)))) 5的平方是: 25 338350 338350 1 ** 3 + 2**3 + ...... + 100 ** 3= 25502500 25502500 In [7]: