1.函数内部定义一个函数,内部函数用到外部函数变量,外部函数返回内部函数的引用。
def test(number1):
print('--1--')
def test_in(number2):
print('--2--')
print(number1+number2)
print('--3--')
return test_in
test(2)
输出:
--1--
--3--
调用test(2)后内部函数test_in没有执行。返回内部函数指向,默认不执行内部函数test_in.
这样才能执行内部函数test_in
def test(number1):
print('--1--')
def test_in(number2):
print('--2--')
print(number1+number2)
print('--3--')
return test_in
test_i=test(2)
test_i(100)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
--1--
--3--
--2--
102
闭包应用
def test(number1):
print('--1--')
def test_in(number2):
print('--2--')
print(number1+number2)
print('--3--')
return test_in
test_i=test(2)
#闭包应用
print("_ 应用 _ "*5)
test_i(100)
test_i(500)
--------------------------
--1--
--3--
_ 应用 _ _ 应用 _ _ 应用 _ _ 应用 _ _ 应用 _
--2--
102
--2--
502