Python函数式和Ruby的相关技术比较

开发 后端
Python函数式在编程中有很多的应用方案。首先我们来看看与Ruby之间的技术比较。希望大家有所收获。Python函数式编程到底有什么用呢?

Python函数式在平时的使用中有很多有意思的事情。下面我们就详细的看看Python函数式和Ruby之间的技术比较。下面我们就来看看如何进行应用。希望大家有所收获。

Python函数式编程到底有什么用呢? 我想实际的好处就是可以将更好的描述问题本身,而不是描述解决问题的操作步骤。看一个具体的例子:

问题:一个列表;对每一个元素平方;将平方后的数如果除3的余数为1则从列表中除去。

看解决的方法:

1. 传统过程式(Python函数式)

  1. >>> s = [1,2,3]  
  2. >>> d = []  
  3. >>> for i in s:  
  4. if i * i % 3 != 1:  
  5. d.append(i * i)  
  6. >>> d  
  7. [9]  
  8. >>> 

 

2. 传统函数式(Lisp)

  1. (remove-if (lambda (n) (= (mod n 3) 1))  
  2. (mapcar (lambda (n) (* n n))  
  3. '(1 2 3))) 


可以看出,函数式的程序很好的对应了我们所提问题的两个步骤,分别用 mapcar, remove-if来实现。不过Lisp的程序确实不太好读,我们用python 和 ruby 来改进一下:

3. Python函数式:

  1. >>> filter(lambda n: n % 3 != 1, map(lambda n:n*n, [1,2,3]))  
  2. [9] 

4. Ruby 函数式:

  1. [1,2,3].map {|n| n * n}.reject{|n| n % 3 == 1}  
  2. => [9] 

经过比较,ruby的最为简洁,而且与问题描述对应的最自然。以上就是对Python函数式的相关介绍。

【编辑推荐】

  1. Python字符串操作方法的五种具体方法
  2. Python线程编程的主要表达方式详解
  3. Python编程语言与Ruby之间的比较
  4. Python django应用中的五大关键步骤
  5. Python主线程如何进行相关应用
责任编辑:张浩 来源: ZDNET
相关推荐

2009-08-14 13:45:03

Ruby和Python

2011-07-21 13:21:32

PHP

2020-08-19 10:29:08

RubyJava语法

2010-03-10 19:46:07

Python编程语言

2009-12-14 13:33:49

Ruby与Python

2021-11-28 18:07:44

PythonRuby编程

2013-06-27 09:31:37

声明式编程命令式编程编程

2023-05-06 07:27:47

2014-06-19 10:48:18

RubyPython

2009-12-15 15:55:43

Ruby模块

2013-04-16 10:24:33

函数偏函数编程语言

2009-12-14 16:26:40

Ruby复制文件

2009-12-24 14:29:42

2017-12-18 11:11:04

2010-09-07 09:44:44

Lucene.NETHubbleDotNe

2024-01-05 15:19:45

2009-12-29 15:41:21

2015-05-20 15:54:04

Openstack分布式存储

2022-07-19 15:24:45

Python编程技术

2010-11-18 15:46:41

Oracle Deco
点赞
收藏

51CTO技术栈公众号