Python 闭包函数与装饰器

EN
EN
2023-04-05 / 0 评论 / 43 阅读 / 正在检测是否收录...

闭包函数

'''
闭包函数是函数内部定义函数

构成条件
1 函数中嵌套一个函数
2 内存嵌套函数 对外部作用域有一个非全局变量的引用
3 外出函数的返回值是内层函数的函数名

作用
保证局部信息不被销毁 数据的安全性

应用
1 保存一些非全局变量 但是不易被销毁、改变的数据
2 装饰器
3 实现数据锁定
'''


# def outF():
#     sum = 2 # 定一个非全局变量
#     def inF(n):
#         return sum+1
#
#     #外出函数返回值是内层函数的函数名
#     return inF


# def outer():
#     n = 10
#     def inner():
#         n = 20
#         print("in",n)
#     print("ou",n)
#     inner()
# outer()

# 闭包函数
def outer(m):
    n = 10
    def inner():
        print("in",(n+m))
    return inner

ot = outer(9)
# 调用
ot() #>>> in 19


def a(a):
    def b():
        nonlocal a # 给外层函数变量声明
        a += 1
        print(a)
    return b
fn_a = a(20)
fn_a() #>>> 21

装饰器

0

评论 (0)

取消