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

Posted Python小屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了几段小代码解释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]



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

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

以上是关于几段小代码解释Python命令式编程和函数式编程的主要内容,如果未能解决你的问题,请参考以下文章

Swift函数式编程十三(函子适用函子单子)

Swift函数式编程十三(函子适用函子单子)

学 Java 函数式编程

内部分享《JVM函数式编程》

Javascript 中的函数式编程

写 Python 代码不可不知的函数式编程技术