美文网首页
Python -- 内部函数 & closure(闭包)

Python -- 内部函数 & closure(闭包)

作者: 浪费不过白头发 | 来源:发表于2017-03-05 16:02 被阅读329次

1.内部函数,只能在外部函数内调用,否则出错

>>> def fun1(): #fun2()的外部函数

             print("fun1()被调用...")

                      def fun2(): #fun1()的内部函数

                               print("fun2()被调用..")

             fun2()

>>> fun1()

fun1()被调用...

fun2()被调用..

2.闭包

对象是附加方法的数据,闭包是附加数据的函数。(Objects are data with methods attached, closures are functions with data attached.)

要形成闭包,首先得有一个嵌套的函数,即函数中定义了另一个函数,闭包则是一个集合,它包括了外部函数的局部变量,这些局部变量在外部函数返回后也继续存在,并能被内部函数引用。

>>> def FunX(x):

              def FunY(y):

                     return x * y

              return FunY

>>> g = FunX(8)

>>> g(5)

40

>>>type(g) #g的类型

<class,'function'>

>>> FunX(8)(5)

40

相关文章

  • Python -- 内部函数 & closure(闭包)

    1.内部函数,只能在外部函数内调用,否则出错 >>> def fun1(): #fun2()的外部函数 ...

  • 闭包

    关键词:闭包(closure) 概念:闭包就是能够读取其他函数内部变量的函数,对于js,闭包就是将函数内部和函数外...

  • 闭包关系

    一、闭包是什么? 闭包(closure)就是能够读取其他函数内部变量的函数。在javascript中,只有函数内部...

  • Python学习笔记(十一)闭包

    本文主要介绍python中的闭包(closure) 闭包的概念 如果在一个函数的内部定义了另外一个函数,外部的函数...

  • js中闭包及如何用闭包定义私有产量

    1、闭包 对于闭包(closure),当外部函数返回之后,内部函数依然可以访问外部函数的变量。 function ...

  • js闭包是什么?

    一、闭包是什么?   闭包(closure)就是能够读取其他函数内部变量的函数。在javascript中,只有函数...

  • MS-其他-(闭包、Session)

    闭包(Closure) 闭包就是能读取其他函数内部变量的函数。例如js中,只有函数内部的子函数才能读取局部变量,所...

  • 真正理解闭包

    参考资料:学习Javascript闭包(Closure) 要点总结: 1、闭包就是能够读取其他函数内部变量的函数。...

  • 闭包的理解

    什么是闭包 闭包(closure)指有权访问另一个函数作用域中变量的函数。①函数嵌套函数②函数内部可以引用函数外部...

  • javascript中的闭包closure详解

    简介 闭包closure是javascript中一个非常强大的功能。所谓闭包就是函数中的函数,内部函数可以访问外部...

网友评论

      本文标题:Python -- 内部函数 & closure(闭包)

      本文链接:https://www.haomeiwen.com/subject/thazwttx.html