Python函数嵌套实例

yipeiwu_com7年前Python基础

在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()()()()

相关文章

只需7行Python代码玩转微信自动聊天

只需7行Python代码玩转微信自动聊天

本代码将用到wxpy模块,使用前请确保已成功安装。我喜欢命令行安装: 接着就可以开始码啦: 开头的红色部分为注释,去掉仍然可以运行,有效代码仅七行,是不是很简洁?赶紧呼朋唤友试一试吧...

深入理解Python异常处理的哲学

所谓异常指的是程序的执行出现了非预期行为,就好比现实中的做一件事过程中总会出现一些意外的事。异常的处理是跨越编程语言的,和具体的编程细节相比,程序执行异常的处理更像是哲学。限于认知能力和...

python系统指定文件的查找只输出目录下所有文件及文件夹

python系统指定文件的查找只输出目录下所有文件及文件夹

修改python运行路径 import os os.chdir('C:/Users/86177/Desktop') os.chdir(r'C:\Users\86177\Desktop...

基于python实现蓝牙通信代码实例

这篇文章主要介绍了基于python实现蓝牙通信代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装和示例 linux下安装...

Python修改MP3文件的方法

本文实例讲述了Python修改MP3文件的方法。分享给大家供大家参考。具体如下: 用这个程序修改后的MP3比原来要小一些了,因为一张图片被删除了,起到了给MP3"瘦身"的作用。在一些mp...