在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中函数的一些高级特性,包括函数作为参数传递、函数赋值、函数嵌套及闭包等概念,并通过具体示例展示了这些特性的使用方法。

被折叠的 条评论
为什么被折叠?



