最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python支持返回函数的实例解析

来源:动视网 责编:小OO 时间:2020-11-27 14:22:26
文档

python支持返回函数的实例解析

这篇文章主要介绍了python支持返回函数的实例解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。最近接触python,看到了python中返回函数的概念,以前只接触过函数返回值,比如python就可以返回int,str,list,dict等等类型数据,这里要说的是python还支持返回函数。首先看看python支持返回函数的基本语法。def f(): print ';call f()...';# 定义函数g: def g(): print ';call g()...';# 返回函数g: return g。这里,最外层的函数f会返回一个函数g,也就是函数g本身。下面看看函数调用的过程;(接上面)。
推荐度:
导读这篇文章主要介绍了python支持返回函数的实例解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。最近接触python,看到了python中返回函数的概念,以前只接触过函数返回值,比如python就可以返回int,str,list,dict等等类型数据,这里要说的是python还支持返回函数。首先看看python支持返回函数的基本语法。def f(): print ';call f()...';# 定义函数g: def g(): print ';call g()...';# 返回函数g: return g。这里,最外层的函数f会返回一个函数g,也就是函数g本身。下面看看函数调用的过程;(接上面)。


这篇文章主要介绍了python支持返回函数的实例解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

最近接触python,看到了python中返回函数的概念,以前只接触过函数返回值,比如python就可以返回int,str,list,dict等等类型数据,这里要说的是python还支持返回函数。

首先看看python支持返回函数的基本语法

def f():
 print 'call f()...'
 # 定义函数g:
 def g():
 print 'call g()...'
 # 返回函数g:
 return g

这里,最外层的函数f会返回一个函数g,也就是函数g本身;
下面看看函数调用的过程;(接上面)

>>> x = f() # 调用f()call f()...>>> x # 变量x就是上面一个最外层函数返回的函数(不是函数值)<function g at 0x1037bf320>
>>> x() # x指向函数,因此可以调用,这里就是调用内层函数x()的过程call g()... # 调用x()就是执行g()函数定义的代码
  • 只返回函数的作用:
    返回函数可以把一些计算延迟执行。例如,如果定义一个普通的求和函数:

  • def calc_sum(lst):
     return sum(lst)
    >>>calc_sum([1,2,3,4])

    结果直接是:10

    但是,可以通过返回函数思想写代码,就可以“延时计算”

    def calc_sum(lst):
     def lazy_sum():
     return sum(lst) return lazy_sum

    下面是调用:
    注意,下面代码并没有对函数进行执行计算出结果,而是返回函数。

    >>> f = calc_sum([1, 2, 3, 4])
    >>> f
    <function lazy_sum at 0x1037bfaa0>

    对返回的函数进行调用时,才计算出结果

    >>>f()10

    下面是一个例子:
    请编写一个函数calc_prod(lst),它接收一个list,返回一个函数,返回函数可以计算参数的乘积。
    思想:先定义能计算乘积的函数,再将此函数返回。

    def calc_prod(lst):
     def lazy_prod():
     def f(x,y):
     return x*y 
     return reduce(f,lst,1) 
    return lazy_prod
    
    f = calc_prod([1, 2, 3, 4])
    print f()

    相关推荐:

    文档

    python支持返回函数的实例解析

    这篇文章主要介绍了python支持返回函数的实例解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。最近接触python,看到了python中返回函数的概念,以前只接触过函数返回值,比如python就可以返回int,str,list,dict等等类型数据,这里要说的是python还支持返回函数。首先看看python支持返回函数的基本语法。def f(): print ';call f()...';# 定义函数g: def g(): print ';call g()...';# 返回函数g: return g。这里,最外层的函数f会返回一个函数g,也就是函数g本身。下面看看函数调用的过程;(接上面)。
    推荐度:
    标签: 返回 使用的 实例
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top