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