python,函数嵌套,到底是个什么东东?
很少有人用,但是,有时确实会用:
1
2
3
4
|
def multiplier(factor):
def multiplyByFactor(number):
return number * factor
return multiplyByFactor
|
python程序,一个函数在另外一个函数的里面,外层的函数返回的是里层函数。也就是函数本身被返回了,返回的是函数(听起来和C语言的一些东东相似)。
注意,返回的函数还可以访问它的定义所在的作用域,也就是它带着它的环境信息奥。
看看下面的用法,就会有被水浇的感觉了:
1
2
3
4
5
6
7
8
9
10
|
>>>double = multiplier( 2 )
>>>double( 5 )
10
>>>triple = multiplier( 3 )
>>>triple( 3 )
9
>>>multiplier( 5 )( 4 )
>>> 20
|
每次调用外层函数,它内部的函数都会被重新绑定,factor变量每次都有一个新的值。
总结
以上就是本文关于python编程嵌套函数实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/shanzhizi/article/details/46385601