圆月山庄资源网 Design By www.vgjia.com

在Python中函数可以作为参数进行传递,而也可以赋值给其他变量(类似Javascript,或者C/C++中的函数指针);

类似Javascript,Python支持函数嵌套,Javascript嵌套函数的应用模式对Python适用;
复制代码 代码如下:
> def multiplier(factor):
... def multiple(number):
... return number * factor
... return multiple
...
>
> multiplier(3)(3)
9
> multiplier(4)(3)

与嵌套函数紧密相关的就是闭包特性,举一个简单的例子:

复制代码 代码如下:
> def test():
... a = {'name': 'wyj'}
... def f():
... return a['name']
... return f
...
> def test():
... a = {'name': 'wyj'}
... def f():
... return a['name']
... return a,f
...
> a,f = test()
> f()
'wyj'
> a['name'] = 'ljq'
> f()
'ljq'

例子3

#! /usr/bin/python
def yao1(a=1,b=32):
	def yao2(c=54):
		def yao3(d=3):
			def yao4(e=10):
				return a+b+c+d+e
			return yao4
		return yao3
	return yao2

print yao1()()()()

标签:
Python,函数嵌套

圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com