《Python数据科学指南》——1.12 在函数中嵌入函数

1.12 在函数中嵌入函数

这一节将解释函数式编程里的另一个概念:在一个函数中定义另一个函数。

1.12.1 准备工作

我们写一个简单的函数,它返回输入列表的数值的平方和。

1.12.2 操作方法

我们定义一个简单的函数,用它演示在函数中嵌入函数。

# 1.定义一个函数,返回给定输入数值的平方和
def sum_square(x):
     def square_input(x):
          return x*x
     return sum([square_input(x1) for x1 in x])

# 2.输出结果来检查是否正确
print sum_square([2,4,5])

1.12.3 工作原理

我们在第1步中在函数sum_square ()中定义了函数square_input (),父函数用它来执行平方值求和的操作。在第2步中,我们调用父函数打印输出结果。

输出的结果如下。

[4, 9, 16]

时间: 2024-11-01 19:13:40

《Python数据科学指南》——1.12 在函数中嵌入函数的相关文章

《Python数据科学指南》——1.14 返回一个函数

1.14 返回一个函数 在这节里,我们讨论在一个函数里返回另一个函数. 1.14.1 准备工作 我们举一个高中的例子来说明咱们使用返回一个函数的函数.我们要解决的问题是:给定半径,求出不同高度的圆柱体的容积. 请参见:http://www.mathopenref.com/cylindervolume.html. Volume = area height = pi r^2 * h 上面的公式可以准确地求出圆柱体的体积. 1.14.2 操作方法 我们写一个简单的函数来演示在函数中返回函数的概念,此外

《Python数据科学指南》——导读

前 言 如今,我们生活在一个万物互联的世界,每天都在产生海量数据,不可能依靠人力去分析产生的所有数据并做出决策.人类的决策越来越多地被计算机辅助决策所取代,这也得益于数据科学的发展.数据科学已经深入到我们互联世界中的每个角落,市场对那些十分了解数据科学算法并且有能力用这些算法进行编程的人才需求是不断增长的.数据科学是多领域交叉的,简单列举几个:数据挖掘.机器学习.统计学等.这对那些渴望成为数据科学家以及已经从事这一领域的人们在各方面都倍感压力.把算法当成黑盒子应用到决策系统里,可能会适得其反.面

《Python数据科学指南》——第1章 Python在数据科学中的应用 1.1 简介

第1章 Python在数据科学中的应用 在这一章里,我们将探讨以下主题. 使用字典对象 使用字典的字典 使用元组 使用集合 写一个列表 从另一个列表创建列表--列表推导 使用迭代器 生成一个迭代器和生成器 使用可迭代对象 将函数作为变量传递 在函数中嵌入函数 将函数作为参数传递 返回一个函数 使用装饰器改变函数行为 使用lambda创造匿名函数 使用映射函数 使用过滤器 使用zip和izip函数 从表格数据使用数组 对列进行预处理 列表排序 采用键排序 使用itertools 1.1 简介 Py

《Python数据科学指南》——1.15 使用装饰器改变函数行为

1.15 使用装饰器改变函数行为 装饰器能封装一个函数,并改变它的行为,通过示例是理解它们的最好方式,本节中我们演示了实际应用中的一些示例. 1.15.1 准备工作 还记得我们在前面章节中将函数作为另一个函数的参数.函数作为一个变量.函数中返回函数等介绍吗?最重要的是,你还记得那个圆柱体的例子吗?如果你掌握了这些,装饰器只是小菜一碟.在本节的示例中,我们将对给定的字符串建立清理操作管道:给定一个混合大小写并带有标点符号的字符串,我们使用装饰器对它进行清理,这些操作还很容易进行扩展. 1.15.2

《Python数据科学指南》——1.19 使用zip和izip函数

1.19 使用zip和izip函数 zip函数将两个相同长度的集合合并成对,它是Python的内置函数. 1.19.1 准备工作 我们通过一个简单示例来演示zip函数. 1.19.2 操作方法 我们传递两个序列给zip函数,并打印输出. print zip(range(1,5),range(1,5)) 1.19.3 工作原理 本例中zip函数的两个参数是两个列表,这两个列表都是由从1到5的数值组成.range函数有3个参数:起始数值.结束数值和步长,默认步长为1.本例中,我们分别把1和5作为列表

《Python数据科学指南》——1.16 使用lambda创造匿名函数

1.16 使用lambda创造匿名函数 匿名函数是由Python中的lambda语句产生的.一个没有被命名的函数就是匿名函数. 1.16.1 准备工作 如果你掌握了将函数作为参数传递的内容,你会发现这节的示例和它非常相似.这节我们会传递一个预定义的函数,一个lambda函数. 1.16.2 操作方法 我们写一个简单的操作小型数据集的示例,来解释Python中的匿名函数. # 1.创建一个简单的列表,写一个类似于1.13节"将函数作为参数传递"中的函数 a =[10,20,30] def

《Python数据科学指南》——1.11 将函数作为变量传递

1.11 将函数作为变量传递 Python支持函数式编程,除了命令范式.在前面的章节中,我们已经接触到了一些函数式编程的概念,不过没有明确地说明,在这节里,我们再来回头看看.在Python中,函数是一等公民,它们拥有属性,可以被引用,并且可以被分配给一个变量. 1.11.1 准备工作 这节里我们将研究函数作为变量传递的范例. 1.11.2 操作方法 我们先定义一个简单的函数,然后看看如何将它当作变量来使用. # 1.定义一个简单的函数 def square_input(x): return x*

《Python数据科学指南》——1.13 将函数作为参数传递

1.13 将函数作为参数传递 Python支持高阶函数功能:将一个函数作为另一个函数的参数传递. 1.13.1 准备工作 我们将前面一个例子中的函数square_input ()重写,以此演示一个函数是如何被作为另一个函数的参数进行传递. 1.13.2 操作方法 请看如何将一个函数作为另一个函数的参数进行传递. from math import log def square_input(x): return x*x # 1.定义一个类函数,它将另外一个函数作为输入 # 并将它应用到给定的输入序列

《Python数据科学指南》——1.2 使用字典对象

1.2 使用字典对象 在Python语言中,容器是一种对象,它能够容纳任意数量.任意类型的对象.它可以对子对象进行操作,还可以迭代操作.字典.元组.列表还有集合都是容器对象.在collections模块中,Python提供了更多的容器类型.在这一节中,我们先来仔细了解字典. 1.2.1 准备工作 我们先通过一个Python的脚本示例来理解字典是如何操作的,这段脚本用来统计词频,也就是每个词在给定的文本中出现的次数. 1.2.2 操作方法 下面的示例演示了在Python中对字典对象如何操作.通过对