Python函数嵌套实例

yipeiwu_com6年前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()()()()

相关文章

Python编程实现微信企业号文本消息推送功能示例

本文实例讲述了Python微信企业号文本消息推送功能。分享给大家供大家参考,具体如下: 企业号的创建、企业号应用的创建、组、tag、part就不赘述了,一搜一大堆,但是网上拿的那些个脚本...

对Python定时任务的启动和停止方法详解

在python中我们可以使用APScheduler进行定时任务。 APScheduler的具体编码这里就不介绍了。主要说下在终端中启动和停止任务。 一、运行计划任务的python脚本...

window环境pip切换国内源(pip安装异常缓慢的问题)

在使用pip默认的安装源时,安装速度通常会比较缓慢。通过切换为国内的安装源通常会解决这个问题,以下是解决步骤: 在如下目录新增一个pip文件 \Users\Administrato...

django框架forms组件用法实例详解

django框架forms组件用法实例详解

本文实例讲述了django框架forms组件用法。分享给大家供大家参考,具体如下: 在django中forms组件有其强大的功能,里面集合和众多的函数和方法:下面来看一下它的源码 "...

Python 函数返回值的示例代码

0x 00 返回值简介 回顾下,上一节简单介绍了函数及其各种参数,其中也有简单介绍 print 和 return 的区别,print 仅仅是打印在控制台,而 return 则是将 re...