1. 程式人生 > >python3 閉包的兩種情況

python3 閉包的兩種情況

閉包:

1.在函式內部再定義一個函式 2.這個函式必須用到了外邊的函式的變數

作用:變相延長外部函式生命週期

裝飾器:

其實就是一個閉包,把一個函式當做引數然後返回一個替代版函式

In [33]: def test(number):
    ...:     def test_in(number_in):
    ...:         print("ceshi %d"%number_in)
    ...:         return number+number_in
    ...:     return test_in
    ...: 


In [34]: test(10)(20)
ceshi 20
Out[34]: 30


In [35]: f=test(10)


In [36]: f(20)
ceshi 20
Out[36]: 30