前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >几段小代码解释Python命令式编程和函数式编程

几段小代码解释Python命令式编程和函数式编程

作者头像
Python小屋屋主
发布于 2018-04-16 07:10:22
发布于 2018-04-16 07:10:22
6860
举报
文章被收录于专栏:Python小屋Python小屋

所谓命令式编程,是指How to do,要通过指令告诉计算机如何一步一步地完成预定任务;而所谓函数式编程,可理解为What to do,只需要通过简单的指令告诉计算机要做什么就可以了,代码更加简洁、易理解、易维护和易并行。本文通过一个小问题来演示命令式编程和函数式编程在Python中的用法。

# 创建列表

lst = list(range(10))

print(lst)

# 下面的代码使用不同方法创建新列表,新列表中的元素是lst列表中的对应元素加5

# 命令式编程,循环

result = []

for item in lst:

result.append(item + 5)

print(result)

# 列表推导式,也属于命令式编程

result = [item+5 for item in lst]

print(result)

# 函数式编程

def add5(v):

return v+5

result = list(map(add5, lst))

print(result)

# 函数式编程,lambda表达式

result = list(map(lambda item: item+5, lst))

print(result)

# 函数式编程,偏函数

from functools import partial

from operator import add

add5 = partial(add, 5)

result = list(map(add5, lst))

print(result)

运行结果:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

---------------分割线---------------

本周四(5月25日)应邀在CSDN学院分享数据挖掘与分析的第一次直播课(共3次)。CSDN学院精选了录播课程与直播课程,为学习Python 数据挖掘与分析的同学提供从Python入门到数据挖掘、数据 分析,再到实战解析全套内容。本公众号粉丝可获得大幅优惠,进入公众号留言「数据挖掘」即可领取优惠券。课程地址:

http://edu.csdn.net/mobile/openCourse/detail/402?ref=2&from=timeline

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
05. 函数式编程
在《04.函数》一文中介绍了Python中的函数,以及函数的基础使用。函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。而函数式编程(Functional Programming),是一种抽象程度很高的编程规范。
有一只柴犬
2024/01/25
1590
Python: 函数式编程
map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回,比循环更简洁,更易读。
用户2183996
2018/06/21
6640
详解Python函数式编程之map、reduce、filter
map()、reduce()、filter()是Python中很常用的几个函数,也是Python支持函数式编程的重要体现。不过,在Python 3.x中,reduce()不是内置函数,而是放到了标准库functools中,需要先导入再使用。 (1)map()。内置函数map()可以将一个函数依次映射到序列或迭代器对象的每个元素上,并返回一个可迭代的map对象作为结果,map对象中每个元素是原序列中元素经过该函数处理后的结果,该函数不对原序列或迭代器对象做任何修改。 >>> list(map(str, ran
Python小屋屋主
2018/04/16
1.3K0
详解Python函数式编程之map、reduce、filter
【Python环境】Python函数式编程指南(2):函数
2. 从函数开始 2.1. 定义一个函数 如下定义了一个求和函数: def add(x, y): return x + y 关于参数和返回值的语法细节可以参考其他文档,这里就略过了。 使用lambda可以定义简单的单行匿名函数。lambda的语法是: lambda args: expression 参数(args)的语法与普通函数一样,同时表达式(expression)的值就是匿名函数调用的返回值;而lambda表达式返回这个匿名函数。如果我们给匿名函数取个名字,就像这样: lambda_add = la
陆勤_数据人网
2018/02/26
7830
Python函数式编程思想与面试实战
函数式编程是一种强调使用纯函数、高阶函数、不可变数据结构和声明式编程等概念的编程范式。在Python面试中,理解和应用函数式编程思想不仅能体现候选人的编程技巧与思维方式,也能为代码带来更高的可读性、可维护性和并发友好性。本篇博客将深入浅出地阐述Python函数式编程的核心理念,剖析面试中常见的问题、易错点以及应对策略,并通过代码示例,助您在面试中从容应对函数式编程相关挑战。
Jimaks
2024/04/17
1770
Python那些事——Python之函数式编程!
函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。函数式编程的一个特点就是,允许函数接收函数作为参数,也允许把函数作为返回值返回。Python对于函数式编程提供部分支持。由于Python允许使用变量,因此Python不是纯函数式编程语言。 #高阶函数 所谓高阶函数,就是允许函数的参数接收其他函数 下面介绍几个python内置的高阶函数: ##map() map()函数接收两个参数,一个序列,
企鹅号小编
2018/02/24
6360
Python那些事——Python之函数式编程!
Python学习笔记(四)·函数式编程
函数是 Python 内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。
公爵
2022/09/28
9350
Python学习笔记(四)·函数式编程
Python中的函数式编程—简洁、高效、无处不在
Lambda表达式是Python中的一种匿名函数,它允许您快速定义简单的函数而无需显式地使用def关键字。Lambda表达式的语法非常简洁,由lambda关键字引导,后跟参数列表和一个表达式。
一键难忘
2024/04/27
3120
深入探索Python中的函数式编程【核心概念与实践应用】
在现代编程世界中,函数式编程成为了越来越受欢迎的范式之一。Python这门语言不仅支持传统的面向对象编程,还提供了强大的函数式编程工具。本文将介绍Python中函数式编程的核心概念,并结合实例展示其在实践中的应用。
一键难忘
2024/08/11
2340
函数式编程杂谈
比起命令式编程,函数式编程更加强调程序执行的结果而非执行的过程,倡导利用若干简单的执行单元让计算结果不断演进,逐层推导出复杂的运算。本文通过函数式编程的一些趣味用法来阐述学习函数式编程的奇妙之处。
2020labs小助手
2019/09/16
4860
函数式编程了解一下(上)
所以我们说,函数式编程是一种范式,我们能够以此创建仅依赖输入就可以完成自身逻辑的函数。这保证了当函数多次调用时,依然可以返回相同的结果。因此可以产生可缓存的、可测试的代码库
Nealyang
2019/09/29
5240
函数式编程了解一下(上)
《XDM,JS如何函数式编程?看这就够了!(五)》
《XDM,JS如何函数式编程?看这就够了!(二)》,讲了重要的两个概念:偏函数、柯里化
掘金安东尼
2022/09/22
3980
函数式编程简介
1900年,Hilbert 提出了数学界悬而未决的10大问题,后续陆续添加成了23个问题,被称为著名的 Hilbert 23 Problem。针对其中第2个决定数学基础的问题——算术公理之相容性,年轻的哥德尔提出了哥德尔不完备定理,解决了这个问题形式化之后的前两点,即数学是完备的吗?数学是相容的吗?哥德尔用两条定理给出了否定的回答。
lambeta
2018/08/17
1.7K0
函数式编程简介
开源图书《Python完全自学教程》7.4函数式编程
函数式编程(Functional Programming)是一种编程范式,虽然不是本书重点阐述的内容,但 Python 语言很早就已经采用了一些函数式编程的概念,如1994年发布的 Python 版本中就已经有了 map()、reduce()、filter() 和 lambda 运算。之所以 Python 能支持函数式编程,是因为函数在 Python 中是第一类对象(参阅7.3.1节)。
老齐
2022/07/06
3150
Python进阶教程笔记(七)函数式编程
由于参数 x, y 和 f 都可以任意传入,如果 f 传入其他函数,就可以得到不同的返回值。
Lemon黄
2020/10/30
4750
Python进阶教程笔记(七)函数式编程
Python函数式编程之lambda表达
一:匿名函数的定义 lambda parameter_list: expression 二:三元表达式 条件为真时返回的结果 if 条件判断 else 条件为假的时候返回的结果 三:map map(func(arg1, arg2...), list1_arg1, list2_arg2), 对后面输入的list分别执行前面的函数(数学的映射) 四:reduce reduce(func(arg1, arg2...), list1_arg, init_value),
py3study
2020/01/19
3340
Python3 函数式编程
高阶函数(Higher-order function),由于在 Python 中,变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接受另一个函数作为参数。接收其他函数作为参数的函数称之为高阶函数。一个简单例子如下:
嵌入式视觉
2022/09/05
3290
Python3 函数式编程
Python 高级教程之函数式编程
函数式编程是一种编程范式,我们在其中尝试以纯数学函数风格绑定所有内容。它是一种声明式的编程风格。它的主要焦点是“要解决什么”,而命令式风格的主要焦点是“如何解决”。它使用表达式而不是语句。计算表达式以产生值,而执行语句以分配变量。
海拥
2022/05/07
7900
Python函数式编程
要讲函数式编程,只要有点编程基础的同学应该可以想到命令式编程。我们平时写代码时,用命令式编程最多,不管业务代码有多复杂,都离不开以下几个步骤:
stormwen
2019/08/05
4960
Python的函数式编程
匿名函数 特点: 定义函数时不需要定义函数名 实现: 借助 lambda 关键字 lambda parameter_list: expression 注意:expression只能包含表达式!不能包含语句! 示例: 一般函数: def add(x, y): return x + y 上述add函数的匿名形式:(匿名函数 或 叫做Lambda表达式) lambda x,y: x+y 匿名函数的调用:
ZONGLYN
2019/08/08
4870
推荐阅读
相关推荐
05. 函数式编程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文