深入了解python高阶函数编写与使用
目录
- 1.变量可以指向函数
- 2.函数名也可以是变量。
- 3.传入函数
- 总结
何为高阶函数,以实际代码为例子一步步深入概念。
1.变量可以指向函数
以abs()为例:
>>>abs(-10) 10
但是只写abs呢?
>>>abs <built-in function abs>
abs(-10)是调用函数而abs是函数本身 。
把函数本身赋给变量呢?
>>>f=abs >>>f <built-in function abs>
结果显然易见变量可以指向函数。
也可调用如:
>>>f=abs >>>f(-10) 10
说明f已经指向abs函数本身,f()与abs()完全相同。
2.函数名也可以是变量。
可以完全把函数名abs看成变量,它指向绝对值函数。
但要指向其他对象呢?
>>>abs=10 >>>abs(-10) Tranceback(most recent call last): File"<stdin>",line1,in <module> TypeError:'int'object is not callable
此时abs为10,就无法通过abs(-10)来调用函数了。
3.传入函数
既然指向函数就可传入参数。
>>>print(abs(-10)) 10 >>>f=abs >>>def add(x,y,f): ... x=-5 ... y=6 ... return f(x)+f(y) ... 11
高阶函数就是可以接收到别的函数和其参数。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
python中分组函数groupby和分组运算函数agg的使用
目录 groupby: agg: 今天来介绍pandas中一个很有用的函数groupby,其实和hive中的groupby的效果是一样的,区别在于两种语言的写法问题.groupby在Python中的分组统计中很有用~ groupby: 首先创建数据: import pandas as pd import numpy as np df = pd.DataFrame({'A': ['a', 'b', 'a', 'c', 'a', 'c', 'b', 'c'], 'B': [2, 7, 1, 3, 3
-
Python函数中4种参数的使用教程
1.必需的参数: 必须参数须以正确的顺序传入函数,调用的数量必须和声明时的一样 def f(name,age): print('I am %s,I am %d'%(name,age)) f('alex',18) f('alvin',16) 输出: I am alex,I am 18 I am alvin,I am 16 2关键字参数: 关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值.使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数
-
python 6.7 编写printTable()函数表格打印(完整代码)
编写一个名为printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐.假定所有内层列表都包含同样数目的字符串 输入: tableData = [['apple','orange','cherry','banana'], ['Alice','Bob','Cathy','David'], ['dog','cat','bird','duck']] 输出: 因此首先要找到每一个内层列表中最长的字符串长度,因为我们可以对比tableData列表和输出的截图.不难发现
-
Python中enumerate()函数编写更Pythonic的循环
enumerate函数 enumerate是一个Python内置函数,一个功能强大的内置函数.其实功能强大不足以形容它, 但是很难用一个词来形容它的用途. 让我们来看看一个使用enumerate进行循环的例子 names = ['李四', '张三', '王二'] for index, name in enumerate(names): print(f'{index}: {value}') 下面是这个循环的结果 0: 李四 1: 张三 2: 王二 这通常是一个很有用的方式去循环,但很多初学者甚至中
-
Python调用Windows API函数编写录音机和音乐播放器
功能描述: 1)使用tkinter设计程序界面: 2)调用Windows API函数实现录音机和音乐播放器. 参考代码: 运行界面: 总结 以上所述是小编给大家介绍的Python调用Windows API函数编写录音机和音乐播放器,希望对大家有所帮助!
-
Python .format()函数使用方法详解
目录 format函数的调用 format函数及其占位符的调用格式 占位符以及参数设定 position/key fill参数 align参数 sign参数 width参数 precision参数 precision-type参数 总结 format函数的调用 format函数可以被直接调用或在print函数中以占位符实现格式化调用. 在**2.6**版本前,占位符仍和其他语言一样使用%(比如C中).但在其后的版本,format函数的占位符更改为{}(花括号). 优化的目的目前总结出了4个: 1
-
python编写函数注意事项总结
1.编写注意 (1)给函数指定描述名. (2)函数名称只包括小写字母和下划线. (3)每一个函数都应该包含简要说明其功能的注释,注释应该紧跟在函数定义之后,并且采用文档字符串格式. 2.给形参指定默认值时,等号两侧不得有空格 def function_name(parameter_0, parameter_1='default value') 3.如果程序或模块包含多个函数,可以使用两个空行将相邻函数分开,这样更容易知道前一个函数在哪里结束,下一个函数从哪里开始. function_name(v
-
深入了解python高阶函数编写与使用
目录 1.变量可以指向函数 2.函数名也可以是变量. 3.传入函数 总结 何为高阶函数,以实际代码为例子一步步深入概念. 1.变量可以指向函数 以abs()为例: >>>abs(-10) 10 但是只写abs呢? >>>abs <built-in function abs> abs(-10)是调用函数而abs是函数本身 . 把函数本身赋给变量呢? >>>f=abs >>>f <built-in function ab
-
详解Python高阶函数
本文要点 1.什么是高阶函数 2.python中有哪些常用的高阶函数 什么是高阶函数? 在了解什么是高阶函数之前,我们来看几个小例子.我们都知道在 python 中一切皆对象,函数也不例外.比如求绝对值函数 abs,我们可以用一个变量 f 指向 abs 函数,那么当调用 f() 的时候可以得到和 abs() 一样的效果,这说明变量可以指向函数! 同理我们将 abs 指向另一个函数 abs = len,那么 abs 将不再是求绝对值的函数了,abs指向的是求长度的 len 函数.这说明函数名其实就
-
详谈Python高阶函数与函数装饰器(推荐)
一.上节回顾 Python2与Python3字符编码问题,不管你是初学者还是已经对Python的项目了如指掌了,都会犯一些编码上面的错误.我在这里简单归纳Python3和Python2各自的区别. 首先是Python3-->代码文件都是用utf-8来解释的.将代码和文件读到内存中就变成了Unicode,这也就是为什么Python只有encode没有decode了,因为内存中都将字符编码变成了Unicode,而Unicode是万国码,可以"翻译"所以格式编码的格式.Python3中
-
Python高阶函数、常用内置函数用法实例分析
本文实例讲述了Python高阶函数.常用内置函数用法.分享给大家供大家参考,具体如下: 高阶函数: 允许将函数作为参数传入另一个函数: 允许返回一个函数. #返回值为函数的函数 sum=lambda x,y:x+y sub=lambda x,y:x-y calc_dict={"+":sum,"-":sub} def calc(x): return calc_dict[x] print(calc('-')(5,6)) print(calc('+')(5,6)) #参数
-
Python高阶函数与装饰器函数的深入讲解
本文主要介绍的是Python高阶函数与装饰器函数的相关内容,分享给大家,下面话不多说了,来一起看看详细的介绍吧 高阶函数 1.可以使用函数对象作为参数的函数 2.或可以将函数作为返回值的函数 3.函数对象:定义好的函数,使用函数名调用(不要加括号) #将函数作为参数的高阶函数,通过传入不同的函数,可以使执行的结果不同 4.内置高阶函数 (1)map数据映射函数 map函数接收的是两个参数,一个函数,一个序列,其功能是将序列中的值处理再依次返回至列表内.其返回值为一个迭代器对象 (2)reduce
-
python 高阶函数简单介绍
把函数作为参数传入,这样的函数称为高阶函数,高阶函数是函数式编程的体现.函数式编程就是指这种高度抽象的编程范式. 1.体验高阶函数 在Python中,abs()函数可以完成对数字求绝对值计算. abs(-10) # 10 round()函数可以完成对数字的四舍五入计算. round(1.2) # 1 round(1.9) # 2 需求:任意两个数字,按照指定要求整理数字后再进行求和计算. 方法1 def add_num(a, b): return abs(a) + abs(b) result =
-
python高阶函数使用教程示例
目录 一.高阶函数 函数定义 函数名可作为返回值.也可作为参数 (1)函数名作为参数 (2)函数名作为返回值 二.常用的高阶函数 (1)map(function,iterable) (2)filter(function, iterable) (3)reduce(function, iterable) 一.高阶函数 函数定义 python中,函数名是变量,下方这个method函数名看成变量,指向一个计算的函数!因此函数名其实就是指向函数的变量,故变量可指向函数: 变量可指向函数,且函数的变量可接受
-
简单了解python高阶函数map/reduce
高阶函数map/reduce Python内建了map()和reduce()函数. 我们先看map.map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回. 举例说明,比如我们有一个函数f(x)=x2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7, 8, 9]上,就可以用map()实现如下: 现在,我们用Python代码实现: def f(x): return x * x r =
-
python高阶函数map()和reduce()实例解析
1.map()传入的有两个参数,函数和可迭代对象(Itreable),map()是把传入的函数依次作用于序列的每个元素,结果返回的是一个新的可迭代对象(Iterable). map()代码如下: # 定义f函数,返回的是x*x def f(x): return x*x # 调用map(),根据传入的函数和list,依次作用于每个元素 s=map(f,[1,2,3,4,5]) # 打印返回的迭代器的值 print(list(s)) # 查看类型 print(type(s)) 结果: [1, 4,
-
python利用高阶函数实现剪枝函数
本文为大家分享了python利用高阶函数实现剪枝函数的具体代码,供大家参考,具体内容如下 案例: 某些时候,我们想要为多个函数,添加某种功能,比如计时统计,记录日志,缓存运算结果等等 需求: 在每个函数中不需要添加完全相同的代码 如何解决? 把相同的代码抽调出来,定义成装饰器 求斐波那契数列(黄金分割数列),从数列的第3项开始,每一项都等于前两项之和 求一个共有10个台阶的楼梯,从下走到上面,一次只能迈出1~3个台阶,并且不能后退,有多少中方法? 上台阶问题逻辑整理: 每次迈出都是 1~3 个台
随机推荐
- C# Winform选项卡集成窗体详解
- iOS App开发中修改UILabel默认字体的方法
- java多线程之定时器Timer的使用详解
- Java方法参数是引用调用还是值调用?
- Asp.Net 动态页面转静态页面主要代码
- C# 文件保存到数据库中或者从数据库中读取文件
- 基于JavaScript自定义构造函数的详解说明
- jQuery的强大选择器小结
- Bootstrap中CSS的使用方法
- 单选按钮决定链接的网址
- python每次处理固定个数的字符的方法总结
- JavaScript数值转换的三种方式总结
- C#简单的通用基础字典实现方法
- Python递归实现汉诺塔算法示例
- Go语言init函数详解
- C#实现记事本查找与替换功能
- 如何利用Boost.Python实现Python C/C++混合编程详解
- jQuery实现表单动态添加数据并提交的方法
- JS实现简单省市二级联动
- IDEA安装详细步骤(多图预警)