-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgramacionFuncional.py
More file actions
65 lines (41 loc) · 1.62 KB
/
ProgramacionFuncional.py
File metadata and controls
65 lines (41 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/env python
# encoding: utf-8
"""
ProgramacionFuncional.py
Created by Marko on 2010-05-09.
Copyright (c) 2010 Bstards. All rights reserved.
"""
"""
Lenguaje Funcional: La programacion funcional es un paradigma en el que la programacion
se basa casi en su totalidad en funciones, entendiendo el concepto de funcion segun su
definicion matematica, y no como los simples subprogramas de los lenguajes imperativos
que hemos visto hasta ahora.
En los lenguajes funcionales puros un programa consiste exclusivamente en la aplicacion
de distintas funciones a un valor de entrada para obtener un valor de salida
El objetivo es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea
necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa.
Aun que Python no es un lenguaje puramente Funcional, contiene varias caracteristicas de
un lenguaje Funcional
"""
# Funciones de orden Superior
def unaFuncion():
print 'Hola Mundo'
unaReferenciaFuncion = unaFuncion
unaReferenciaFuncion()
listaNumeros = [6,8,3,5,9]
print listaNumeros
listaNumeros.sort()
print listaNumeros
def fun(x, y):
return 1 if ( x < y ) else ( -1 if (x > y) else 0 )
listaNumeros.sort( fun )
print listaNumeros
# Funciones de orde superior en iteraciones, MAP, FILTER, REDUCE
def cuadrado(x):
return x ** 2
listaCuadrados = map(cuadrado, listaNumeros)
print listaCuadrados
# Funciones Lambda, funciones anonimas; estan restringidas por ser, por sintaxis,
# una sola expresion.
listaCuadrados.sort(lambda x, y: -1 if (x < y) else ( 1 if ( x > y ) else 0) )
print listaCuadrados