码迷,mamicode.com
首页 > 编程语言 > 详细

Python-闭包

时间:2020-07-19 11:34:34      阅读:46      评论:0      收藏:0      [点我收藏+]

标签:res   return   变量   code   span   int   没有   color   pre   

1. 定义:在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包

def test(number):
    print(----1----)

    def test_in():
        print(----2----)
        print(number+100)

    print(----3----)
    return rest_in

ret = rest(100)
ret()

ret 指向函数内部定义的函数 test_in,原来的 number 还用原来传入的值。

2. 闭包的应用

def line_conf(a,b):
    def line(x):
        
        return a*x+b

    return line

line1 = line_conf(1,1)
line2 = line_conf(4,5)

print(line1(5))
print(line2(5))

以上的应用,外层相当于定义一个二元一次方程,内层传一个横坐标,返回纵坐标。

line(2) 之后再用 line(1),函数没有被销毁。

Python-闭包

标签:res   return   变量   code   span   int   没有   color   pre   

原文地址:https://www.cnblogs.com/april-aaa/p/13338825.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!