9512.net
甜梦文库
当前位置:首页 >> 数学 >>

2-8python中返回函数


python 中返回函数
Python 的函数不但可以返回 int、str、list、dict 等数据类型,还可以返回函数! 例如,定义一个函数 f(),我们让它返回一个函数 g,可以这样写:

def f(): print 'call f()...' # 定义函数 g: def g(): print 'call g()...' # 返回函数 g: return g
仔细观察上面的函数定义,我们在函数 f 内部又定义了一个函数 g。由于函数 g 也是一个对象,函数名 g 就是指向函数 g 的变量,所以,最外层函数 f 可以返回变量 g,也就是函数 g 本身。 调用函数 f,我们会得到 f 返回的一个函数:

>>> x = f() call f()... >>> x

# 调用 f()

# 变量 x 是 f()返回的函数:

<function g at 0x1037bf320> >>> x() # x 指向函数,因此可以调用 # 调用 x()就是执行 g()函数定义的代码

call g()...

请注意区分返回函数和返回值:

def myabs(): return abs def myabs2(x): return abs(x) # 返回函数调用的结果,返回值是一个数值 # 返回函数

返回函数可以把一些计算延迟执行。例如,如果定义一个普通的求和函数:

def calc_sum(lst): return sum(lst)
调用 calc_sum()函数时,将立刻计算并得到结果:

>>>calc_sum([1, 2, 3, 4]) 10

但是,如果返回一个函数,就可以“延迟计算”:

def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum
# 调用 calc_sum()并没有计算出结果,而是返回函数:

>>> f = calc_sum([1, 2, 3, 4]) >>> f <function lazy_sum at 0x1037bfaa0>
# 对返回的函数进行调用时,才计算出结果:

>>>f() 10
由于可以返回函数,我们在后续代码里就可以决定到底要不要调用该函数。

任务
请编写一个函数 calc_prod(lst),它接收一个 list,返回一个函数,返回函数可以计算参数的乘积。



更多相关文章:
python 列表函数=
2 python 列表函数 list 函数:功能:将字符创转化为列表,例: 列表基本函数: 1...例: 7.insert 函数功能:将元素插入到列表指定位置。例: 8.pop 函数功能:...
Python 实验8 函数(1)
Python 实验8 函数(1)_计算机软件及应用_IT/计算机_专业资料。实验 8 函数(一)实验目的: 1、 理解自定义函数过程定义和调用方法; 2、 掌握自定义函数的定义...
2-3python函数作为参数
2-3python函数作为参数_数学_自然科学_专业资料。...传入,如果 f 传入其他函数,就可以得到不同的返回值...八年级数学变量与函数2 暂无评价 12页 免费 ©...
Python教程:函数
1 #!/usr/bin/python 2 # Filename: function1....即打印了一些字符;但有时,函数若有返回值会更有用...(x): 5 6 7 8 9 x = 50 10 func(x) 11...
2-9python中闭包
2-9python中闭包_法律资料_人文社科_专业资料。python 中闭包在函数内部定义的函数和外部定义的函数是一样的,只是他们无法被外部访问: def g(): print 'g()....
python 列表函数
例: 注意:(1)两个元素相同返回 0,前大后小返回 1,前小后大返回-1 (2)...python中函数 2页 免费 python函数精解 8页 1下载券 python之函数的参数...
python threading获取线程函数返回
python threading获取线程函数返回值_计算机软件及应用_IT/计算机_专业资料。python...封装线程操作的基本方法,如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14...
python常用函数
python常用函数_数学_自然科学_专业资料。1.map()函数 map()是 Python 内置的...例如,对于 list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把 list ...
2-5python中reduce()函数
2-5python中reduce()函数_数学_自然科学_专业资料。python 中 reduce()函数 ...必须接收两个参数,reduce()对 list 的每个元素 反复调用函数 f,并返回最终结果...
2-6python中filter()函数
2-6python中filter()函数_数学_自然科学_专业资料。python 中 filter()函数 ...()根据判断结果自动过滤掉不符合条件的 元素,返回由符合条件元素组成的新 list...
更多相关标签:

All rights reserved Powered by 甜梦文库 9512.net

copyright ©right 2010-2021。
甜梦文库内容来自网络,如有侵犯请联系客服。zhit325@126.com|网站地图