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

python闭包与装饰器

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

python闭包与装饰器

闭包:

内外函数嵌套,内部函数引用外部函数作用域下的非全局变量,外函数返回内函数对象

优点是: 为变量续命

缺点是: 浪费内

闭包案例

# 内外函数嵌套
def outer(n):
    def inner():
        # 内部函数引用外部函数作用域下的非全局变量
        list1 = []
        for i in range(1,n+1):
            list1.append(i)
        print(list1)
    # 外函数返回内函数对象
    return inner
outer(100)()
装饰器

作用:在不改变原函数的基础上增加新的功能
装饰器案例

import time
# 装饰器满足闭包的思路
# 内外函数嵌套
def outer(f):
    def inner():
        # 内部函数引用外部函数作用域下的非全局变量
        # 记录程序运行时间
        start_time = time.time()
        f()
        end_time = time.time()
        print("一共用时", end_time - start_time)
    # 外函数返回内函数对象
    return inner

@outer
def func():
    print("今天天气好晴朗")
    time.sleep(1)
    
func() # 等同于  func == outer(func) == inner
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971660.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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