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.装饰器不能去改变函数的调⽤⽅式跟返回值

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

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

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

  • 相关阅读:
    2020软件工程作业05
    2020软件工程作业00--问题清单
    2020软件工程作业03
    2020软件工程作业02
    2020软件工程作业01
    软件工程个人作业06
    软件工程作业04
    软件工程作业05
    软件工称作业03
    2020软件工程作业02
  • 原文地址:https://www.cnblogs.com/168vincent/p/9245544.html
Copyright © 2011-2022 走看看