网站首页 > 文章中心 > 其它

python高级函数补充

作者:小编 更新时间:2023-10-20 13:45:52 浏览量:289人看过

python内置函数

math模块

在使用前导入math模块 import math

常用方法

math.pow()方法

math.pow(x,y) 返回x的y次方

math.sqrt()方法

math.sqrt(x) 返回x的平方根

math,factorial()方法

math.factorial(x) 返回x的阶乘

高级内置函数即方法(常用)

①.--map()函数

①.--实例解释

①.0--split()方法

①.0--实例解释

①.1--replace()方法

①.1--实例解释

一文读懂Python 高阶函数

将函数作为参数传入,这样的函数称为高阶函数. 函数式编程就是指这种高度抽象的编程范式.

变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数.如下所示:

map(fun, lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表返回.

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表.

闭包的定义?闭包本质上就是一个函数

如何创建闭包?

如何使用闭包?典型的使用场景是装饰器的使用.

global与nonlocal的区别:

简单的使用如下:

偏函数主要辅助原函数,作用其实和原函数差不多,不同的是,我们要多次调用原函数的时候,有些参数,我们需要多次手动的去提供值.

而偏函数便可简化这些操作,减少函数调用,主要是将一个或多个参数预先赋值,以便函数能用更少的参数进行调用.

我们再来看一下偏函数的定义:

类func = functools.partial(func, *args, **keywords)

我们可以看到,partial 一定接受三个参数,从之前的例子,我们也能大概知道这三个参数的作用.简单介绍下:

总结

本文是对Python 高阶函数相关知识的分享,主题内容总结如下:

Python 高阶函数的使用

① Python有哪些高阶函数,功能分别是什么

Python有三大高阶函数,分别是 map 、 reduce 、 filter 函数.

map函数有两个参数,第一个参数要求传递一个函数对象,第二个参数要求传递一个可迭代序列.直接看案例

运行结果:

reduce高阶函数位于functools模块中,使用前需要先进行导入.reduce高阶函数可以有三个参数,第一个参数要求传递一个函数对象(必传),第二个参数要求传递一个可迭代序列(必传),第三个函数是一个初始值(不必传,可以有默认值).直接看案例

filter高阶函数有两个参数,第一个参数是一个函数对象,第二个参数是一个可迭代序列.直接看案例

python高阶函数有哪些

①.、map

map()函数接受两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每一个元素上,并把结果作为新的Iterator返回.

def f(x):

...

list(r)

from functools import reduce

def add(x, y):

... return x + y

也就是说,假设python没有提供int()函数,你完全可以自己写一个把字符串转化为整数的函数,而且只需要几行代码.

用于过滤序列,和map函数类似,filter也接收一个函数和一个序列,不同于map的是,filter把传入的函数依次作用于每一个元素,然后根据返回值是True还是False决定保留还是丢弃该元素,例如,在一个list中,删掉偶数,只保留奇数,可以这么写:

def is_odd(n):

把一个序列中的空字符串删掉,可以这么写:

def not_empty(s):

return s and s.strip()

list(filter(not_empty, ["A", "", "B", None, "C", " "]))

# 结果: ["A", "B", "C"]

可见用filter()这个高阶函数,关键在于正确实现一个筛选函数.

无论冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,所以呢,比较的过程必须通过函数抽象出来,Python内置的sorted()函数就可以对list进行排序:

此外,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:

python 高阶函数什么意思

变量可以指向函数,函数的参数可以接收变量,那么函数可以接收另一个函数作为参数,这种函数称为高阶函数.

python高阶函数有哪些?

map函数

map()是python内置的高阶函数,它接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并且把结果作为新的列表返回.

filter函数

filter()同样也是接收一个函数和一个序列,和map()不同的是,filter函数把传入的函数依次作用于每个元素,然后返回返回值是True的元素.

reduce函数

reduce()把一个函数作用到一个序列上,这个函数必须接收两个参数,reduce把结果和序列的下一个元素做累积计算.

lambda函数

lambda()有时候传参数时不需要显示自定义的函数,直接传入匿名函数更方便;冒号前面的X,y表示函数参数,匿名函数不需要担心函数名的冲突,匿名函数也是一个函数对象,可以吧匿名函数赋值给一个变量,再利用变量来调用函数,匿名函数也可以作为返回值返回.

sorted函数

sorted()作为python内置高阶函数之一,其功能是对序列(列表、元组、字典、集合、字符串)进行排序.

以上就是土嘎嘎小编为大家整理的python高级函数补充相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章