python编程嵌套函数实例代码

yipeiwu_com5年前Python基础

python,函数嵌套,到底是个什么东东?

很少有人用,但是,有时确实会用:

def multiplier(factor): 
  def multiplyByFactor(number): 
     return number*factor 
  return multiplyByFactor

python程序,一个函数在另外一个函数的里面,外层的函数返回的是里层函数。也就是函数本身被返回了,返回的是函数(听起来和C语言的一些东东相似)。

注意,返回的函数还可以访问它的定义所在的作用域,也就是它带着它的环境信息奥。

看看下面的用法,就会有被水浇的感觉了:

>>>double = multiplier(2) 
>>>double(5) 
10 
 
>>>triple=multiplier(3) 
>>>triple(3) 
9 
 
>>>multiplier(5)(4) 
>>>20 

每次调用外层函数,它内部的函数都会被重新绑定,factor变量每次都有一个新的值。

以上内容摘抄自《python基础教程》

总结

以上就是本文关于python编程嵌套函数实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

python调用shell的方法

1.1  os.system(command)在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这实际上是使用C标准库函数system(...

python语音识别实践之百度语音API

百度语音对上传的语音要求目前必须是单声道,16K采样率,采样深度可以是16位或者8位的PCM编码。其他编码输出的语音识别不出来。 语音的处理技巧: 录制为MP3的语音(通常采样率为441...

详细介绍Python中的偏函数

Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,...

pytorch下使用LSTM神经网络写诗实例

在pytorch下,以数万首唐诗为素材,训练双层LSTM神经网络,使其能够以唐诗的方式写诗。 代码结构分为四部分,分别为 1.model.py,定义了双层LSTM模型 2.data.py...

python pandas 对series和dataframe的重置索引reindex方法

reindex更多的不是修改pandas对象的索引,而只是修改索引的顺序,如果修改的索引不存在就会使用默认的None代替此行。且不会修改原数组,要修改需要使用赋值语句。 series.r...