'''闭包的概念:函数里面嵌套函数,外层函数返回里层函数,这种情况称之为闭包闭包是概念,不是某种函数类型,是一种特殊的函数调用闭包可以得到外层函数的局部变量,是函数内部和函数外部沟通的桥梁。''''''函数里面可以在定义函数,那么函数里面定义的函数可以在外面调用吗?如果可以的话,怎么做呢?'''# 正常嵌套函数使用举例:def func(): print("这是func在调用") def func1(): print("这是func1在调用") func1() #这个调用与def func1处于同一级,调用func1()func()# 这是func在调用# 这是func1在调用# 闭包:函数里面嵌套函数,外层函数返回里层函数,注意是返回,而不是在里面直接调用.def func(): def func1(): return "hello" return func1 #注意不要写括号,因为加了括号就是调用,我们这里需要返回的是函数体.func() #这样写运行没有任何输出,因为现在的func()相当于在使用func1返回的函数体,即返回func1函数体.# func()相当于func1,就是一个函数对象,要调用很简单func()()func()() #此时还是没有输出,为什么呢?注意是返回值的形式,需要去接收它.a = func()() #将返回值赋给变量aprint(a)#------------里面还可以写更多函数------------------------------------def func(): def func1(): return "Hello" def func2(): return "LuXi" def func3(): return "Good" return func2 #注意这里想在外面使用哪一个,这里就返回哪一个.func()()a = func()()print(a) #结果为func2函数的返回值LuXi#------闭包可以得到外层函数的局部变量,是函数内部和函数外部沟通的桥梁。-------------------def func(): a = 100 def func1(): return a+a return func1b = func()()print(b) #结果为200,验证闭包可以得到外层函数的局部变量,是函数内部和函数外部沟通的桥梁.