26 Python高阶函数之函数作为参数传入和传出

 欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力

对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    专栏:

文章概述:对Python函数式编程之高阶函数的介绍

关键词:Python函数式编程之高阶函数

本文目录

Python函数式编程之高阶函数

函数作为参数传递进来

函数作为返回输出

  

Python函数式编程之高阶函数

把函数作为参数传入或把函数作为返回输出,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。

面向函数编程,说白了就是把函数传来传去,函数是第一要素;

面向对象编程,说白了就是把对象传来传去,对象是第一要素;

def mytest(num):
    return num*2

mytest(10)

myseq = [123, 45.67, -6.2e8]
mytest(myseq)

函数作为参数传递进来

myseq = [123, 45.67, -6.2e8]

def convert(func, seq):
  print('转换序列中的数值,要她们统一为一样的数值类型')
  return [func(eachNum) for eachNum in seq]

convert(int, myseq)
convert(float, myseq)
convert(str, myseq)
convert(mytest, myseq)

函数作为返回输出

def add_two_nums(x, y): 
  return x + y


def add_three_nums(x, y, z):
  return x + y + z


def get_appropriate_function(num_len):
  if num_len == 3:
    return add_three_nums
  else:
    return add_two_nums
  
args = [1, 2, 3]
num_len = len(args)
res_function = get_appropriate_function(num_len)
print(res_function)
print(res_function(*args))

  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python函数是指可以接受其他函数作为参数,并且/或者返回一个函数作为结果的函数。在Python中,map()和reduce()是两个常见的高阶函数。 map()函数可以将一个函数应用于一个可迭代对象的每个元素,并将结果返回为一个迭代器。它的格式是map(function, Iterable),其中function是要应用的函数,Iterable是要操作的可迭代对象。map()函数将可迭代对象的每个元素作为参数传入指定的函数,并对元素进行操作,最终返回一个迭代器。 reduce()函数可以对可迭代对象的元素进行累积操作。它的格式是reduce(function, Iterable),其中function是一个函数,有两个参数,Iterable是要进行操作的可迭代对象。reduce()函数会将列表的前两个元素作为参数传入function函数中,然后将运行结果作为第一个参数,再将列表的下一个元素作为第二个参数传入,如此类推,直至元素全部调用。 例如,如果我们有一个列表lst = [1, 2, 3, 4,我们可以使用reduce()函数将列表中的元素相乘,得到结果24。代码如下所示: ```python from functools import reduce lst = [1, 2, 3, 4] def multiply(a, b): return a * b result = reduce(multiply, lst) print(result) # 输出结果为24 ``` 这段代码中,我们首先导入了reduce()函数,然后定义了一个multiply函数,这个函数接受两个参数,将它们相乘并返回结果。接下来,我们使用reduce()函数将multiply函数应用于lst列表中的元素,最终得到结果24。 综上所述,Python高阶函数可以帮助我们更方便地对可迭代对象进行操作,提高代码的复用性和简洁性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python 函数的使用-python基础,python函数的使用说明,有python2的参考代码](https://download.csdn.net/download/li171049/88221777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Python的四大高阶函数](https://blog.csdn.net/weixin_51445771/article/details/120015684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值