Você está na página 1de 27

Lenguajes de alto nivel

La programacin en lenguajes de alto nivel es mucho mas fcil escribir programas. Toma menos tiempo, los programas son mas cortos y mas fciles de leer, Son portables, lo que significa que pueden ejecutarse en tipos diferentes de computadores sin modificacin alguna o con pocas modificaciones.

Traduccin de los Lenguajes de alto nivel


interpretes.

Compiladores

Que es

Informacin general
Extensiones comunes Paradigma Apareci en Diseado por ltima versin estable Tipo de dato Implementaciones Dialectos Influido por Ha influido a Sistema operativo Licencia
.py, .pyc, .pyd, .pyo, .pyw Multiparadigma, orientado a objetos, imperativo, funcional, reflexivo 1991 Guido van Rossum 3.2.2 / 2.7.2 (4 de septiembre de 2011; hace 5 meses / 11 de junio de 2011; hace 7 meses) fuertemente tipado, dinmico CPython, IronPython, Jython, Python for S60, PyPy, Unladen Swallow Stackless Python, Rpython ABC, ALGOL 68, C, Haskell, Icon, Lisp, Modula-3, Perl, Smalltalk, Java Boo, Cobra, D, Falcon, Genie, Groovy, Ruby, JavaScript, Cython Multiplataforma Python Software Foundation License

Python se considera como lenguaje interpretado porque los programas de Python se ejecutan por medio de un interprete. Python ha sido diseado por Guido van Rossum y esta en un proceso de continuo desarrollo por una gran comunidad de desarrolladores. Python tambin permite la programacin imperativa, programacin funcional y programacin orientada a objetos. Aproximadamente cada seis meses se hace publica una nueva versin de Python. Python es un lenguaje muy expresivo, es decir, los programas Python son muy compactos: Un programa Python suele ser bastante mas corto que su equivalente en lenguajes como C. (Python llega a ser considerado por muchos un lenguaje de programacin de muy alto nivel .)

Porqu usar
Portabilidad. Versatilidad. Simplicidad. Interactividad. Sintaxis clara y legible. Productividad. Popularidad. Facilidad y rapidez de aprendizaje. Open Source (Fuente abierta).

Qu mdulos tiene Python?


Web Programming Zope, TurboGears, XML Data Bases ODBC, MySQL GUI Development wxPython, PyQt, PyGtk Networking Twisted, Sockets Game Development pygame, pyOpenGL

Caractersticas
Python es muy legible. La sintaxis de Python es muy elegante y permite la escritura de programas cuya lectura resulta mas fcil que si utilizramos otros lenguajes de programacin. Python ofrece un entorno interactivo que facilita la realizacin de pruebas y ayuda a despejar dudas acerca de ciertas caractersticas del lenguaje. El entorno de ejecucin de Python detecta muchos de los errores de programacin que escapan al control de los compiladores y proporciona informacin muy rica para detectarlos y corregirlos.

Caractersticas
Python puede usarse como lenguaje imperativo procedimental o como lenguaje orientado a objetos. Posee un rico juego de estructuras de datos que se pueden manipular de modo sencillo. Existen dos maneras de usar interprete:

Modo de comando y modo de guion.


En modo de comando se escriben sentencias en el lenguaje Python y el interprete muestra el resultado.

Modo de comando y modo de guion.


$ Python Python 1.5.2 (#1, Dec 31 2011, 22:32:16) Copyright 1991-1995 Stichting Mathematish Centrum, Amsterdam >>> print 1 + 1 2
La primera lnea de este ejemplo es el comando que pone en marcha el interprete Python. Las dos lneas siguientes son mensajes del interprete. La tercera lnea comienza con >>>, que es la invitacin del interprete para indicar que esta listo. Escribimos print 1 + 1 y el interprete contesto 2. Alternativamente, se puede escribir el programa en un archivo y usar el interprete para ejecutar el contenido de dicho archivo.

El archivo se llama, en este caso, un guion. Por ejemplo, en un editor de texto se puede crear un archivo latoya.py que contenga esta lnea:

print 1 + 1
Por acuerdo unnime, los archivos que contienen programas de Python tienen nombres que terminan con .py. Para ejecutar el programa, se le tiene que indicar el nombre del guion al interprete.

$ Python latoya.py 2

Una ventaja fundamental de Python es la gratuidad de su interprete. Puedes descargar el interprete de la pagina web http://www.python.org. El interprete de Python tiene versiones para prcticamente cualquier plataforma en uso: sistemas PC bajo Linux, sistemas PC bajo Microsoft Windows, sistemas Macintosh de Apple, etc. Ejemplo Practico: Calcula la media de tres nmeros que introduce por teclado el usuario y muestra el resultado por pantalla:

Comunidad Python
Python ha sido parte importante de Google desde el principio, y lo sigue siendo a medida que el sistema crece y evoluciona. Hoy da, docenas de ingenieros de Google usan Python y seguimos buscando gente diestra en este lenguaje. Peter Norvig, director de calidad de bsquedas de Google Inc. Python juega un papel clave en nuestra cadena de produccin. Sin el, un proyecto de la envergadura de ((Star Wars: Episodio II)) hubiera sido muy difcil de sacar adelante. Visualizacin de multitudes, proceso de lotes, composicin de escenas. . . Python es lo que lo une todo. Tommy Brunette, director tcnico senior de Industrial Light & Magic .

Python esta en todas partes de Industrial Light & Magic. Se usa para extender la capacidad de nuestras aplicaciones y para proporcionar la cola que las une. Cada imagen generada por computador que creamos incluye a Python en algn punto del proceso. Philip Peterson, ingeniero principal de I+D de Industrial Light & Magic.

Entorno Python

En Python los tipos bsicos se dividen en:

Tipos bsicos

Nmeros, como pueden ser : 3 (entero), 15.57 (de coma flotante) o 7 + 5j (complejos) Cadenas de texto, como Hola Mundo Valores booleanos: True (cierto) y False (falso). Python tiene 28 palabras reservadas:

and assert break class

continue def del elif

else except exec finally

for import from in global is if lambda

not or pass print

raise return try while

Vamos a crear un par de variables a modo de ejemplo. Una de tipo cadena y una de tipo entero: # esto es una cadena c = Hola Mundo # y esto es un entero e = 23 # podemos comprobarlo con la funcin type type(c) type(e) Como ves en Python, a diferencia de muchos otros lenguajes, no se declara el tipo de la variable al crearla. En Java, por ejemplo, escribiramos: String c = Hola Mundo; int e = 23;

Operadores Matemticos
Operador + * Suma Resta Negacin Multiplicacin Descripcin Ejemplo r = 3 + 2 # r es 5 r = 4 - 7 # r es -3 r = -7 # r es -7 r = 2 * 6 # r es 12

**

Exponente

r = 2 ** 6 # r es 64

/ // %

Divisin Divisin entera Mdulo

r = 3.5 / 2 # r es 1.75 r = 3.5 // 2 # r es 1.0 r = 7 % 2 # r es 1

Operadores a nivel de bit

Operador & | ^ ~ << >>

Descripcin and or xor not

Ejemplo r = 3 & 2 # r es 2 r = 3 | 2 # r es 3 r = 3 ^ 2 # r es 1 r = ~3 # r es -4 r = 3 << 1 # r es 6 r = 3 >> 1 # r es 1

Desplazamiento izq. Desplazamiento der.

Booleanos
Operador and r es False or es True not Descripcin se cumple a y b? se cumple a o b? No a Ejemplo r = True and False # r = True or False # r r = not True # r es False

Operador Descripcin == son iguales a y b? != son distintos a y b? < es a menor que b? > es a mayor que b? <= >=

Ejemplo r = 5 == 3 # r es False r = 5 != 3 # r es True r = 5 < 3 # r es False r = 5 > 3 # r es True r = 5 <= 5 # r es True r = 5 >= 3 # r es True

es a menor o igual que b? es a mayor o igual que b?

Colecciones
Listas l = [22, True, una lista, [1, 2]]

Tuplas

t = (1, 2, True, python)

Diccionarios

d = {Love Actually : Richard Curtis, Kill Bill: Tarantino, Amlie: JeanPierre Jeunet}

Control de flujo
Sentencias condicionales if if fav == mundogeek.net: print Tienes buen gusto! print Gracias

if else

if fav == mundogeek.net: print Tienes buen gusto! print Gracias else: print Vaya, que lstima if numero < 0: print Negativo elif numero > 0: print Positivo else: print Cero

if elif elif else

Bucles
while edad = 0 while edad < 18: edad = edad + 1 print Felicidades, tienes + str(edad)

for in

secuencia = [uno, dos, tres] for elemento in secuencia: print elemento

Funciones
En Python las funciones se declaran de la siguiente forma:

def mi_funcion(param1, param2): print param1 print param2 mi_funcion(hola, 2)

Orientacin a Objetos
Clases y objetos class Coche: Abstraccion de los objetos coche. def __init__(self, gasolina): self.gasolina = gasolina print Tenemos, gasolina, litros def arrancar(self): if self.gasolina > 0: print Arranca else: print No arranca def conducir(self): if self.gasolina > 0: self.gasolina -= 1 print Quedan, self.gasolina, litros else: print No se mueve

Para crear un objeto se escribira el nombre de la clase seguido de cualquier parmetro que sea necesario entre parntesis. mi_coche = Coche(3) Ahora que ya hemos creado nuestro objeto, podemos acceder a sus atributos y mtodos mediante la sintaxis objeto.atributo y objeto.metodo(): >>> print mi_coche.gasolina 3 >>> mi_coche.arrancar() Arranca >>> mi_coche.conducir() Quedan 2 litros >>> mi_coche.conducir() Quedan 1 litros >>> mi_coche.conducir() Quedan 0 litros >>> mi_coche.conducir()

Ejercicio 1
def fact(n): if(n==0)or(n==1): return 1 if(n>1): return n*fact(n-1) for i in range(5): print float(5**i)/fact(i)

Funcin Maclaurin

Ejercicio 2

Conversor de nmeros binarios a decimales

bits = raw_input('Ingrese un Numero en Binario: ') n=len(bits) valor=0 for bit in bits: if bit == '1': valor=valor+2**(n-1) n=n-1 print 'Su Valor decimal es ', valor print ' '

Por qu Python?
Python es un lenguaje que todo el mundo debera conocer. Su sintaxis simple, clara y sencilla; el tipado dinmico, el gestor de memoria, la gran cantidad de libreras disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicacin en Python sea sencillo, muy rpido y, lo que es ms importante, divertido.