zoukankan      html  css  js  c++  java
  • 关于python的闭包与装饰器的实验

    首先看闭包,在嵌套函数内添加返回值,可以通过外部函数读取内部函数信息

    #encoding=utf-8

    #闭包应用

    #先定义闭包函数,并使用

    def outer(func):

        def inner():

            print("记录日志开始")

            func() # 业务函数

            print("记录日志结束")

        return inner

    def foo():

        print("foo")

    foo = outer(foo)

    foo()

    结果

    那么如果不使用闭包用装饰器代替

    #不用闭包,先定义

    def outer(func):

        

        print("记录日志开始")

        func() # 业务函数

        print("记录日志结束")

    @outer

    def foo():

        print("不用闭包foo")

    foo()

    可见装饰器的用途就是用来说明,@的函数是下面函数的外部函数

  • 相关阅读:
    Java Spring AOP用法
    Spring IOC的简单实现
    随机数
    Java 正则表达式
    日期格式转换
    maven settings.xml详解
    JSP与Servlet的关系
    EL表达式学习
    FreeMarker学习2
    FreeMarker学习
  • 原文地址:https://www.cnblogs.com/garvicker/p/9044615.html
Copyright © 2011-2022 走看看