这篇文章主要介绍了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就是上面一个最外层函数返回的函数(不是函数值)

>>> 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

对返回的函数进行调用时,才计算出结果>>>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支持返回函数的实例解析相关推荐

  1. python在匿名函数作和_python内置函数和匿名函数

    楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们继续谈下一话题... 来你们在自己的环境里打印 ...

  2. python读取数据的函数详解_python如何从文件读取数据及解析

    python如何从文件读取数据及解析 读取整个文件: 首先创建一个文件,例如我创建了一个t x t文件了. 然后我想读取这个文件了,我首先将上面的这个文件保存在我即将要创建的Python的文件目录下, ...

  3. python时间函数带时区_Python pytz时区函数返回的时区为9分钟 - python

    由于某些原因,我无法从以下代码中找出原因: >>> from pytz import timezone >>> timezone('America/Chicago' ...

  4. python中使用函数的优点_Python基础之函数基本用法与进阶详解

    本文实例讲述了Python基础之函数基本用法与进阶.分享给大家供大家参考,具体如下: 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数 ...

  5. python内置函数下划线_python(内置函数)

    检测本文件中对象是否存在 # -*- coding: utf-8 -*- import sys x=10 obj1=sys.modules[__name__] print(hasattr(obj1,& ...

  6. python查看方法作用_python中有帮助函数吗

    python中的dir()函数是一个非常重要的函数,它可以帮助我们查看函数的功能和特性. 中文说明:不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表.如果参数 ...

  7. python内置函数绝对值图像_Python内置函数

    内置函数清单 1.abs()     求数字的绝对值 2.all()    判断集合元素是否都为True,都为True时返回True,否则返回False. 3.any()    判断集合元素是否都为F ...

  8. python power函数_python中pow函数的用法_python中pow函数用法及功能说明

    幂运算是高更数学的应用学科,是一种关于幂的数学运算.同底数幂相乘,底数不变,指数相加.同底数幂相除,底数不变,指数相减.幂的乘方,底数不变,指数相乘.适用于精确计算领域. 计算机作为精确计算的一种方式 ...

  9. python中pow函数的用法_python中pow函数用法及功能说明

    幂运算是高更数学的应用学科,是一种关于幂的数学运算.同底数幂相乘,底数不变,指数相加.同底数幂相除,底数不变,指数相减.幂的乘方,底数不变,指数相乘.适用于精确计算领域. 计算机作为精确计算的一种方式 ...

最新文章

  1. 设计模式--简单工厂(Factory)模式
  2. public virtual T GetT(string key, T defaultValue)
  3. Windows消息机制学习笔记(三)—— 消息的接收与分发
  4. 一款jquery实现的整屏切换特效
  5. VSCode自定义代码片段10—— 数组的响应式方法
  6. Python计算前n个自然数的阶乘和
  7. android listview 只加载显示的图片大小,Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)...
  8. C语言和C++中如何编写交换两个整形变量值的函数
  9. 计算机科学导论第四版ppt,计算机科学导论课件.ppt
  10. 48页小米用户画像实战PPT
  11. matpower学习笔记
  12. 解决XeLaTex编译后中文出现乱码的问题
  13. matlab 切点投资组合 程序,基于MATLAB的证券投资组合分析
  14. StringBuilder和StringBuffer的效率比较
  15. Qt 官方例子 Callout Example
  16. Tiny Heroes:道高一尺,魔高一丈
  17. Window通过cmd命令测试服务器带宽性能的方法(IP测试)
  18. python怎么编程乘法口诀表_少儿编程|python|制作九九乘法口诀表
  19. 【猛料】腾讯前总监受贿侵占数百万获刑9年
  20. python 02 --python从安装到学习精品网站(廖雪峰官方网站)

热门文章

  1. java的jsp要下载吗_jsp、java下载附件
  2. mysql中间件面试题_面试题集锦-中间件 - 春哥大魔王的博客的个人空间 - OSCHINA - 中文开源技术交流社区...
  3. git ssh配置文件 服务器_git登录ssh服务器
  4. CMake 手册详解(二十二)
  5. AM335X 分配大于4M的framebuffer
  6. Session、Dialog和Transaction的区别
  7. 华为笔记本软件商店_华为应用市场电脑版
  8. 动态分区分配的“首次适应算法_动态图划分复制算法:Leopard
  9. jwt获取token_JWT实现token认证
  10. python代码太长_Python 太糟糕了?开发者总结了 8 大原因