当前位置:主页 > python教程 > python支持返回函数的实例解析

python支持返回函数的知识点总结

发布:2019-09-07 20:14:10 153


为网友们分享了相关的编程文章,网友阚翔宇根据主题投稿了本篇教程内容,涉及到python、返回函数、python支持返回函数的实例解析相关内容,已被178网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。

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本身;
下面看看函数调用的过程;(接上面)

>>> 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支持返回函数的实例解析的详细内容,更多请关注码农之家其它相关文章!


参考资料

相关文章

  • PM2+nginx部署python项目的方法实例

    发布:2019-06-18

    这篇文章主要介绍了使用PM2+nginx部署python项目的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • python的由来及基础语言

    发布:2020-02-15

    python是C语言编写出来的,并且Python提供了丰富的API和工具,所以程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。


  • centos6.5安装python3.7.1之后无法使用pip的解决方案

    发布:2022-04-19

    今天小编就为大家分享一篇关于centos6.5安装python3.7.1之后无法使用pip的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧


  • Python实现跨文件全局变量的方法

    发布:2020-03-07

    我们在使用Python编写应用的时候,有时候会遇到多个文件之间传递同一个全局变量的情况。所以下面这篇文章主要给大家介绍了关于Python跨文件全局变量的实现方法,需要的朋友可以参考借鉴,


  • Python实现微信自动验证好友、回复、发送链接方法

    发布:2019-06-04

    今天小编就为大家分享一篇Python实现微信自动好友验证,自动回复,发送群聊链接方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • selenium+python自动化测试环境搭建步骤

    发布:2020-04-12

    这篇文章主要介绍了selenium+python自动化测试之环境搭建,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • Python利用sqlacodegen自动生成ORM实体类示例

    发布:2022-10-21

    给大家整理了关于Python的教程,这篇文章主要介绍了Python利用sqlacodegen自动生成ORM实体类,结合实例形式分析了Python sqlacodegen安装技巧ORM实体类相关实现技巧,需要的朋友可以参考下


  • 全面了解python中的类,对象,方法,属性

    发布:2023-01-13

    给大家整理了关于python的教程,下面小编就为大家带来一篇全面了解python中的类,对象,方法,属性。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


网友讨论