zoukankan      html  css  js  c++  java
  • python 中闭包的问题

    闭包

    函数是一个对象,所以可以作为某个函数的返回结果。

    一个函数和它的环境变量合在一起,就构成了一个闭包(closure)。在Python中,所谓的闭包是一个包含有环境变量取值的函数对象。环境变量取值被保存在函数对象的__closure__属性中

    使用闭包注意事项 1.闭包中是不能修改外部作用域的局部变量的


    作用

    • 用途1:当闭包执行完后,仍然能够保持住当前的运行环境。

    比如说,如果你希望函数的每次执行结果,都是基于这个函数上次的运行结果。我以一个类似棋盘游戏的例子来说明。假设棋盘大小为50*50,左上角为坐标系原点(0,0),我需要一个函数,接收2个参数,分别为方向(direction),步长(step),该函数控制棋子的运动。棋子运动的新的坐标除了依赖于方向和步长以外,当然还要根据原来所处的坐标点,用闭包就可以保持住这个棋子原来所处的坐标。

    • 用途2:闭包可以根据外部作用域的局部变量来得到不同的结果

    这有点像一种类似配置功能的作用,我们可以修改外部的变量,闭包根据这个变量展现出不同的功能。比如有时我们需要对某些文件的特殊行进行分


    在用Python进行函数式编程时,闭包对数据的持久化以及按配置产生不同的功能。

    参考链接:

    • http://blog.csdn.net/tao01230/article/details/45972763

    • http://python.jobbole.com/82624/

  • 相关阅读:
    spring
    SpringMVC 配置与使用
    基本MVC2模式创建新闻网站
    EL表达式
    JavaBeans介绍
    JSP简介
    Cookie与Session的异同
    过滤器的使用
    session的使用
    最长回文子串
  • 原文地址:https://www.cnblogs.com/Hondsome/p/5964483.html
Copyright © 2011-2022 走看看