其他分享
首页 > 其他分享> > 闭包, 引入局部变量, 全局变量等

闭包, 引入局部变量, 全局变量等

作者:互联网

# 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