python学习(十五)——高阶函数

1 内置高阶函数map

map():接收两个参数 一个是函数 一个是序列
map将传入的函数依次作用到序列的每个元素 并且把结果作为新的序列返回

# 对一个序列[-1,3,-4,-5]的每一个元素求绝对值

import random

print(list(map(abs,[-1,3,-4,-5])))

在这里插入图片描述

2 高阶函数

(1) 高阶函数的特性
实参是一个函数
函数的返回值也是一个函数

# 函数本身也是可以赋值给变量的 变量可以指向函数
print(abs(-10))
f = abs #f=1
print(f(-10))

在这里插入图片描述

def fun(x,y,f):
    return f(x),f(y)
print(fun(-10,34,abs))

在这里插入图片描述

3 内置高阶函数reduce

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

注意:在python2中reduce是内置函数,而在python3.x中,需要在代码前添加from functools import reduce 这样才能使用reduce函数

from functools import reduce

def multi(x,y):
    return x*y
print(reduce(multi,range(1,10)))

在这里插入图片描述

5 内置高阶函数filter

filter过滤函数

和map( )类似的,也接收一个函数和一个序列,但是和map( )不同的是 filter( )把传入的函数依次作用于序列的每个元素 然后根据返回值是True或者False决定保留还是丢弃该元素。

#求0~100之间的所有偶数
def isodd(num):
    if num % 2 == 0:
        return True
    else:
        return False

print(list(filter(isodd,range(100))))

在这里插入图片描述

6 内置高阶函数sort

sort是应用在list上的方法,list的sort方法返回的是对已经存在的列表进行操作。

#排序
li = [4, 5, 6, 7, 2, 1, 3, 8, 9, 10]
li.sort()
print(li)

在这里插入图片描述

7 匿名函数

匿名函数的关键字 lambda
冒号前面是 形参 冒号后面是返回值

print(list(map(lambda x:x**2,range(5))))

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Python的计算思维训练主要涉及到函数的概念。函数是Python中的基本编程结构,通过函数可以将一系列操作封装起来,提高代码的复用性和可维护性。 首先,函数的定义和调用是计算思维中重要的一部分。学习者需要理解如何使用def关键字定义函数,并且学会传入参数和返回数值。这能够帮助他们将复杂的问题拆分成更小的部分,然后再分别解决。 其次,函数的参数和返回值的运用是培养计算思维的有效途径。学习者需要理解函数的参数可以是任意类型的数据,也可以是默认值,还可以是可变数量的参数。同时,他们需要掌握函数可以返回单个数值、多个数值或者其他函数的能力。 此外,函数的嵌套和递归是培养计算思维的重要方法。学习者需要了解函数可以在其内部调用其他函数,从而实现更复杂的功能。而递归则可以帮助他们理解问题的分治和循环解策略。 最后,函数的高阶用法和闭包也是培养计算思维的关键。学习者需要明白函数可以作为参数传递给其他函数,也可以作为返回值被另一个函数使用。此外,他们还需要掌握闭包的概念和运用,以便更好地理解函数的作用域和生命周期。 通过学习和实践以上内容,学习者不仅可以掌握Python中函数的用法,还可以培养出较强的计算思维能力,从而更好地应对复杂的问题和挑战。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值