
Un minúsculo tutorial para quién necesite o simplemente le apetezca aprender Python.
Python es un lenguaje interpretado, interactivo y orientado a objetos. Se le compara con C++. Java o Perl. Tiene variables, clases, objetos, funciones y todo lo que se espera que tenga un lenguaje de programación moderno. Cualquier programador puede empezar a trabajar con Python con poco esfuerzo. Según muchos estudios, Python es uno de los lenguajes más fáciles de aprender y que permiten al novato ser productivo en tiempo record.
Python es perfecto como lenguaje "pegamento" y para prototipado rápido de aplicaciones (aunque se hagan luego en otros lenguajes). Pero también se pueden hacer programas serios como Zope, mailman, etc. Dispone de librerías para desarrollar aplicaciones multihilo, distribuidas, bases de datos, con interfaz gráfico, juegos, gráficos 3D y una larga lista.
Este pequeño tutorial presupone que el lector tiene nociones básicas de programación con algún lenguaje como C, Java o similar.
Nada como usar algo para aprender a usarlo. El intérprete de Python se puede utilizar como una shell (lo que se llama modo interactivo), algo que viene muy bien para dar nuestros primeros pasos.
$ python
>>>
Las variables no se declaran explícitamente, se pueden usar desde el momento en que se inicializan. Y normalmente no hay que preocuparse por liberar la memoria que ocupan, tiene un "recolector de basura" (como Java).
$ python
>>> a = "hola"
En el modo interactivo se puede ver el valor de cualquier objeto escribiendo simplemente su nombre:
>>> a
'hola'
Python es un lenguaje de tipado fuerte pero dinámico. Eso significa que no se puede operar alegremente con tipos diferentes (como se hace en C).
>>> a + 1
Traceback (most recent call last):
File "
TypeError: cannot concatenate 'str' and 'int' objects
Esa operación ha provocado que se dispare la excepción TypeError. Las excepciones son el mecanismo más común de notificación de errores.
Pero se puede cambiar el tipo de una variable sobre la marcha (como en Python :-) ).
>>> a = 3
Una variable puede existir sin tener valor ni tipo, para ello se asigna el valor None:
>>> a = None >>> a >>>
Lo habitual:
>>> a = True
>>> a
True
>>> not a
False
>>> a and False
False
>>> 3 > 1
True
>>> b = 3 > 1
>>> b
True
Python dispone de tipos enteros de cualquier tamaño que soportan todas las operaciones propias de C, incluidas las de bits. También hay reales como en cualquier otro lenguaje. Ambos tipos se pueden operar entre si sin problema. Incluso tiene soporte para números complejos de forma nativa.
>>> a = 2
>>> b = 3.0
>>> a + b
5.0
>>> b - 4j
(3-4j)
No hay tipo carácter, se utilizan cadenas de tamaño 1. Las cadenas admiten operaciones como la suma y la multiplicación.
>>> cad = 'hola '
>>> cad + 'mundo'
'hola mundo'
>>> cad * 3
'hola hola hola '
Las tuplas son una agrupación de valores similar al concepto matemático de tupla. Se pueden empaquetar y desempaquetar varias variables (incluso de tipo diferente).
>>> x = cad, 'f', 3.0
>>> x
('hola ', 'f', 3.0)
>>> v1, v2, v3 = x
>>> v2
'f'
Las Listas son similares a los vectores o arrays de otros lenguajes, aunque en Python se pueden mezclar tipos. Y se pueden indexar desde el final.
>>> x = [1, 'f', 3.0]
>>> x[0]
1
>>> x[-1]
3.0
Las listas también se pueden sumar y multiplicar:
>>> x = [1, 'f', 3.0]
>>> x + ['adios']
[1, 'f', 3.0, 'adios']
>>> x * 2
[1, 'f', 3.0, 1, 'f', 3.0]
Las listas y las cadenas se pueden indexar mediante "rodajas" (slicing):
>>> cad = 'holamundo'
>>> cad[1:6]
'olamu'
>>> cad[:3]
'hol'
>>> cad[3:]
'amundo'
>>> cad[-6:-2]
'amun'
Los diccionarios son tablas asociativas:
>>> notas = {'antonio':6, 'maria':9}
>>> notas['antonio']
6
Python dispone de otros tipos de datos nativos como números complejos, conjuntos (sets), pilas, colas, listas multidimensionales, etc.
Casi todo en Python está orientado a objetos, incluyendo las variables de tipos básicos, y hasta los literales!
>>> cad = 'holamundo'
>>> cad.upper()
'HOLAMUNDO'
>>> 'ADIOS'.lower()
'adios'
Los módulos son análogos a las 'librerías' o 'paquetes' de otros lenguajes. Para usarlos se utiliza la sentencia import:
>>> import sys
>>> sys.exit()
Están disponibles las más habituales: for, while, if, if else, break, continue, return, etc. Todas funcionan de la forma habitual excepto for. El for de Python no es un while disfrazado, como ocurre la mayoría de lenguajes. Este for hace que, en cada iteración, la variable de control tome los valores que contiene una secuencia, es decir, que itere sobre ella; algo parecido al for_each de C++, pero mucho más fácil de usar. Ejemplo:
>>> lista = range(4) >>> lista [0, 1, 2, 3] >>> for i in lista: ... print i ... 0 1 2 3
En muchos lenguajes se aconseja "tabular" de determinada manera para facilitar su lectura. En Python este estilo es obligatorio porque el esquema de indentación define realmente los bloques. Es una importante peculiaridad de este lenguaje. Se aconseja tabulación blanda de 4 espacios. Mira el siguiente fragmento de un programa Python:
total = 0 aprobados = 0 notas = {'antonio':6, 'maria':9} for i in notas.values(): total += i if i >= 5: aprobados += 1 print 'La media es:', total / len(notas)
El cuerpo del bloque for queda definido por el código que está indentado un nivel debajo de él. Lo mismo ocurre con el if. La sentencia que define el bloque siempre lleva un ':' al final. No se necesitan llaves ni ninguna otra cosa para delimitar los bloques.
Nada mejor para explicar su sintaxis que un ejemplo:
def factorial(n): if n == 0: return 1 return n * factorial(n-1) # y su invocación print factorial(10)
Aunque Python se puede utilizar como un lenguaje convencional (tipo Java), siempre hay una manera más "pythónica" de hacer las cosas. Por ejemplo, el factorial se puede hacer aún más corto con algo como:
import operator factorial = lambda x: reduce(operator.__mul__, range(1, x)) print factorial(10)
Muy aconsejable Python Is Not Java
Lo normal es escribir un programa en un fichero de texto -con extesión .py- utilizando algún buen editor (como emacs). Después ese fichero se puede ejecutar como cualquier otro programa. Para eso, la primera línea del fichero debe tener algo como:
#!/usr/bin/python
Y no olvides darle permisos de ejecución al fichero:
$ chmod +x fichero.py
Comentarios
Muy bueno, lo necesitaba...
Me encanto para entrar en este mundo de python, me encantó el manual, y me encantó el lenguaje...
Ahora que ya aprendí lo basico de este maravilloso lenguaje, voy por lo mas difícil
Nos vemos
Muy bueno este mini tutoríal, para tomar contacto con Python
Me parece buenísimo este mini tutorial para empezar a dar pasos con Python, además las referencias son muy completas.
Si os digo la verdad, la gente que me dice que quiere aprender Python, pero no sabe por donde empezar, y me preguntan dónde hay buenos tutoriales, yo siempre les respondo lo mismo:
-Mira en las recetas de Crysol, que hay un mini tutorial que está bien, y además trae un montón de referencias.
Aprovecho para decir, que si a alguien le gusta Python y las librerías OpenGL(librerías para hacer gráficos), en este blog, Blog_de_Cristobal, podeis descargaros el código, de un reloj, hecho con Python y librerías OpenGL.
Ni que decir tiene que el código lo podeis estudiar, modificar, redistribuir ... .
Un saludo
/******************************************************************
"Si no amas la vida, puede que te resulte bastante dura, lo mismo pasa con el software libre."
********************************************************************/
No sueño con grandes palacios, no sueño con grandes lujos, no sueño con grandes poderes, porque yo sólo sueño con grandes sueños
Todo lo que necesitamos de Python
Hola a todos para todos los que nos gusta el lenguaje Python se inicia un nuevo portal con Videotutoriales de Python y no solo eso sino que tambien dispones de enlaces, documentos, codigos fuente, foro, glosario, libros, revista y mucho mas...
Todo desde www.aprenderpython.com