Python闭包

来源:互联网 发布:淘宝女装店铺推荐 编辑:程序博客网 时间:2024/06/11 16:13

python闭包(closure)通俗的讲就是:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)。它只不过是个“内层”的函数,由一个名字(变量)来指代,而这个名字(变量)对于“外层”包含它的函数而言,是本地变量。

看到这里或许你依然不明白什么是闭包,没关系,看完下面的小例子你一定会明白!

# -*- coding: utf-8 -*-"""Created on Sat Jan 23 09:26:18 2016@author: mahao"""#定义一个函数def plus(number):    #在函数内部再定义一个函数,其实这个里面的函数就被认为是闭包    def plus_in(number_in):        #这里打印一下number_in变量,以便大家可以更清楚传进来的变量时哪一个        print(str(number_in)+"\r\n")        return number+number_in    return plus_in#给plus函数赋值,这个20就是给参数number,v1现在指向plus_in函数v1=plus(20)#注意这里的100其实给参数number_inprint(v1(100))

运行结果如下:


0 0
原创粉丝点击