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编程语言入门黑客攻防 给你几个理由!

如果选择一门编程语言来入门黑客攻防的话,你觉得哪个最合适?不如来试试Python,或许会是一次很好的尝试哦~ Python 语言的优点 目前,Python 在各领域都有着广泛的应用。由此...

关于python字符串方法分类详解

关于python字符串方法分类详解

python字符串方法分类,字符串是经常可以看到的一个数据储存类型,我们要进行字符的数理,就需要用各种的方法,这里有许多方法,我给大家介绍比较常见的重要的方法,比如填充、删减、变形、分切...

Python中实现三目运算的方法

C语言中三目运算符 复制代码 代码如下:    expression ?expr1:expr2;  //expression 为真则取表达式expr...

详解用Python为直方图绘制拟合曲线的两种方法

详解用Python为直方图绘制拟合曲线的两种方法

直方图是用于展示数据的分组分布状态的一种图形,用矩形的宽度和高度表示频数分布,通过直方图,用户可以很直观的看出数据分布的形状、中心位置以及数据的离散程度等。 在python中一般采用m...

python列表每个元素同增同减和列表元素去空格的实例

python列表每个元素同增同减和列表元素去空格的实例

如下所示: import os var = [1, 2, 3] data = [x*2 for x in var] print (data) two = [[i, i**2] f...