首页 > 其他 > 详细

闭包 学习讨论

时间:2014-11-14 11:56:57      阅读:222      评论:0      收藏:0      [点我收藏+]

def line_conf(a, b):

    i = a * b
    def line(x):
        i = i + x
        return i * x + b
    return line
 
line1 = line_conf(4, 5)
print line1(5)
 
在python2.x中报UnboundLocalError错误,原因应该是变量i是函数line_conf()的局部变量,函数调用结束之后也就清除了这个变量,而line1()中需要依赖变量i,才会报这个错误

闭包 学习讨论

原文:http://www.cnblogs.com/saryli/p/4096643.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!