闭包, 引入局部变量, 全局变量等
作者:互联网
# 1---函数可以作为参数进行传递 # def func(): # 定义函数 # print("我是函数") # # # def sin(fn): # 以函数作为参数进行传递 # fn() # # # sin(func) # # 2---函数可以作为返回值进行传递 # def func1(): # def inner(): # print("12255") # # return inner # # # func1() # 3---函数名称可以当成一个变量一样的进行赋值 # def func1(): # print("我是函数1") # # # def func2(): # print("我是函数2") # # # func1 = func2 # # func1() # 1---在局部引入全局的局部变量[global] # a = 10 # # # def inner(): # 闭包函数 # global a # 在局部环境中引用全局环境中的变量 # a = 20 # 局部函数inner中的局部变量a # print(a) # # # inner() # print(a) # 2---在局部引入外层的局部变量[nonlocal] def func(): b = 9 def func1(): nonlocal b # 向外一层引入局部变量, 如果有就引入, 如果没有就继续向外一层, 直到全局, 但是不包括全局 print("引入的值", b) b = 6 print(b) func1() print("变量被改变成新的值", b) # 变量被改变 func()
标签:闭包,func1,函数,局部变量,---,inner,print,全局变量,def 来源: https://www.cnblogs.com/acwecc/p/16358237.html