码迷,mamicode.com
首页 > 其他好文 > 详细

闭包 学习讨论

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

标签:io   sp   div   on   cti   bs   ef   line   as   

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,才会报这个错误

闭包 学习讨论

标签:io   sp   div   on   cti   bs   ef   line   as   

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

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