zoukankan      html  css  js  c++  java
  • python闭包和装饰器的理解

    闭包:

    两个函数的嵌套,外部函数返回内部函数的引⽤,外部函数⼀定有参数

    def 外部函数(参数):

      def 内部函数():

        pass

    return 内部函数

    他跟函数之间的区别:

    1.格式两个函数嵌套

    2.闭包外部函数的参数可以在内存中保持

    装饰器是什么:闭包加@xxx

    装饰器的作⽤:在不改变原先的函数值跟调⽤的⽅式,添加额外的功能

    装饰器的代码:

    def set_fun(func):

      def call_fun(*args,**kwargs):

        return func(*args,**kwargs)

    return call_fun

    @set_fun

    def test():

    pass

    1.装饰前的函数test,是由func指向的      2.装饰后的函数test,实际是call_fun     3.装饰前test,装饰后test,装饰后的test(call_fun)三者保持⼀致   4.装饰器不能去改变函数的调⽤⽅式跟返回值

    ⼀个装饰器⼀个函数的理解

    ⼆个装饰器装饰⼀个函数的图解:

    ⼆个装饰器装饰器⼀个函数内存图了解:

  • 相关阅读:
    017-新闻表分页增删改查
    016-页面生命周期
    015-用户登录注册
    014-Session服务器状态保持
    013-Cookie状态保持
    012-ViewState状态保持
    011-Server服务器对象属性
    010-判断是否回传IsPostBack属性
    Github使用教程
    获取中文时间
  • 原文地址:https://www.cnblogs.com/168vincent/p/9245544.html
Copyright © 2011-2022 走看看