栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

闭包函数和装饰器

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

闭包函数和装饰器

闭包函数的定义

        1.定义外层函数,封装被保护的局部变量;

        2.定义内层函数,执行对外层函数局部变量的操作;

        3.外层函数返回内层函数的对象;并且外层函数被调用,结果被保存在全局变量中。

装饰器

        装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能

区别

        装饰器其实就是一个闭包函数,但装饰器他的参数有且只有一个并且是函数类型,否则他就是闭包

# 闭包函数
def a(num1, num2):
    def b():
        return num2 + num1
    return b # 返回的是内函数的引用

c = a(2,3)()
print(c)


def dec(func1):
    def wrapper(*args, **kwargs):
        print('我是dec')
        return func1(*args, **kwargs)
    return wrapper

# 装饰器
@dec
def sum_a():
    print("我是sum-a")
    return 'sum-a'



msg = dec(sum_a)()
# msg = sum_a()
print(msg)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958279.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号