Introducción al lenguaje de programación Python



Python es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 para administración de sistemas operativos, en concreto de uno olvidado denominado Amoeba. Como tal es un lenguaje interpretado, dirigido a objetos, y limpio por usar en su sintaxis el mínimo de caracteres innecesarios. 

Por eso mismo es un lenguaje claro muy adecuado como primer lenguaje de programación, aunque es actualmente un lenguaje maduro que se puede usar para todo tipo de aplicaciones, desde aplicaciones web hasta temas relacionado con la bioinformática Por otro lado, se trata de un lenguaje de tipado dinámico, es decir, que los tipos se asignan a las variables durante el uso de las mismas, y no durante la escritura o compilación de los programas. 

Por eso es muy fácil trabajar con él, y crear programas flexibles, 
que se modifiquen sobre la marcha Hoy en día se le conoce tanto por su patrocinio por parte de Google, que contrató a Guido van Rossum, como por su uso dentro del Google AppSpot o del entorno de aplicaciones Django, de gran aplicación para la creación de portales y aplicaciones basadas en la web. También se usa como lenguaje de creación de aplicaciones en móviles, o para dispositivos empotrados. En resumen, un lenguaje ameno, fácil de aprender, pero también potente y expresivo. Esperamos que os resulte útil.

Instalación de Python

 
Introducción y advertencia 

 
Python es un lenguaje interpretado, y como tal, lo que se instala es una aplicación que necesitarás cargar cada vez que quieras ejecutar un programa en tal lenguaje. No es un entorno de programación; es decir, no es un entorno completo que te permita editar, ejecutar, depurar el programa y demás. Para eso existen diferentes opciones que veremos más adelante. Con esto lo que quiero decir es que, una vez instalado, al pinchar en el icono que diga "Python" no va a hacer nada salvo sacar una línea de órdenes (dependiendo del sistema operativo); sí se ejecutará el intérprete automáticamente cuando se pulse el ratón sobre un programa escrito en Python (con la extensión .py), pero lo más probable es que, tratándose de programas que se ejecutan en el intérprete de órdenes, no se vea nada. 

Concluyendo: una vez instalado no te lances a ejecutar nada, espera a
escribir tu primer programa en Python y entonces comprobarás si funciona todo correctamente (que debería hacerlo)

¿Qué versión debería instalar? 

 
En la página de descarga de Python hay dos versiones principales: la 2.7 y la 3.1. Este curso está hecho principalmente con la 2.6, así que la que más se le acerca es la 2.7. Puedes instalar cualquiera de ellas, o las dos, pero aconsejamos para evitar diferencias que se instale la 2.7. En todo caso, actualmente es la versión más usada. Otra opción que te puedes instalar en un dispositivo portátil para usar en diferentes ordenadores es la Portable Python. En este caso las versiones disponibles están basadas en la 2.6 o 3.0; aconsejamos que se instale la primera

¿Cómo instalo Python en mi ordenador? 

 
Si usas Linux ya sabes como hacerlo; usa tu programa favorito para descargártelo de los repositorios e instalarlo; es posible, de todas formas, que ya esté instalado en la distribución base; Ubuntu, Fedora, Guadalinex y otras ya lo incluyen por ser el lenguaje con el que se escriben muchas de las aplicaciones base que llevan. 

Para ver si estás instalado abre un intérprete de órdenes (que también es posible que sepas como hacer, pero si no Aplicaciones -> Accesorios -> Terminal) y escribe python --version que debería devolver algo así Python 2.6.5 Si no es así, tendrás que instalarlo. En Windows o Macintosh hay que descargar alguna de las opciones que se presentan en la página de descargas, teniendo en cuenta las observaciones hechas anteriormente. En Windows se sigue el proceso habitual en las instalaciones: ir haciendo click sobre "Next" hasta que se indique que se ha instalado. 

El sistema operativo te hará diferentes advertencias sobre que estás instalando un programa, a las que contestarás que sí, que por supuesto, que faltaría más. Si contestas que no, no te lo va a instalar, así que tendrás que contestar que sí. Lo que instalarás en Windows será un intérprete de línea de comandos, que aparecerá en el menú como se muestra en la ilustración adjunta, con el texto Python (command line); es decir, Python (línea de órdenes).

El resultado de la ejecución aparece arriba. Desde ahí se pueden ejecutar directamente órdenes en Python, como veremos más adelante. También se instala un fichero de ayuda al que se puede acceder desde el menú -> Todos los programas -> Python 2.7 -> Python Manuals (o Manuales de Python). El paquete indicado anteriormente instala también un mini-entorno de desarrollo llamado IDLE, que se puede ejecutar desde el menú anterior eligiendo IDLE. Es un pequeño envoltorio de la línea de comandos, pero te permite cargar ficheros y salvarlos, al menos. 


Aunque no permite editar programas, sí permite probar órdenes y tiene alguna facilidad adicional como la expansión del nombre de las órdenes (pulsando tabulador). Se puede usar para hacer pruebas, o cuando se conozca más el lenguaje, depurar programas En cuanto a otras plataformas, este wikilibro describe como hacerlo en un Mac; lo más probable es que esté ya instalado (y que la versión sea la correcta), pero si no puedes instalártelo desde la página de descargas indicada anteriormente Finalmente, y como curiosidad, puedes instalártelo dentro del "Android Scripting Environment" en tu teléfono Android, tal como los HTC que tan célebres se han hecho últimamente. Así puedes hacer los ejercicios que te planteemos en cualquier lugar, incluso en el bus.

Otros programas 

 
Como se ha dicho más arriba, la instalación de Python proporciona sólo el intérprete que permite ejecutar los programas escritos en él; pero para escribir estos programar hará falta un editor. Todos los sistemas operativos tienen un editor de textos básico, pero se es más productivo usando editores de textos específicos de programadores. En Linux se puede usar emacs, vi, kate, Geany o cualquiera de los múltiples programas que existen, en el Mac hay también buenas opciones


En Windows se puede descargar Geany de su página web, e instalarse con las opciones básicas. Al final de la instalación te ofrece la posibilidad de ejecutarlo. La ventaja que tiene este tipo de programa es que te colorea las palabras clave y te detecta algunos errores de sintaxis básicos, permitiendo que uno sea más productivo Para usuarios de entornos de desarrollo tales como NetBeans o Eclipse, hay un plugin denominado PyDev que se puede instalar para editar este tipo de programas. Se puede instalar desde el menú correspondiente, o descargándoselo de la página correspondiente. En esta página instruyen sobre cómo instalárselo en Eclipse, por ejemplo.

Versiones de Python 

 
En el capítulo anterior has visto que, para seguir este curso, se recomienda Python 2.X pese a que, si buscas por internet, verás que existe una versión 3.x Hoy por hoy, existen dos líneas de Python. Una de ellas es la 2, que es a la que se refiere este curso, y la otra es la 3. Pese a lo que pudiera parecer, Python 3 no es una versión más moderna del mismo Python 2, si no que se trata de una versión distinta y no compatible con este. Las diferencias, en realidad, no son muy grandes, pero sí lo suficiente para que no sean mutuamente compatibles. Un programa escrito para una de las versiones no funcionará (o lo hará mal) bajo el otro intérprete. Por ejemplo, la línea que en Python 2 se escribe así:

print "Hola Mundo"

en Python 3 se escribirá así:

print ("Hola Mundo")

Existen otras muchas diferencias, que pueden verse en la página What’s New In Python 3.0. La mayoría del software más popular que hoy hoy día existe está escrito con la versión 2, del mismo modo que muchas de las librerías sólo existen para esta versión, o tienen versiones menos estable o actualizadas para la versión 3.

Además, conociendo Python 2 es muy fácil ver las diferencias con python 3 y aplicarlas. Por todo esto, la mayoría de los cursos, tutoriales y libros se escriben para la versión 2, y este no es una excepción.

Mi primer programa en Python 

 
El primer programa suele ser el clasico que imprime un mensaje por la pantalla. En Python sería de esta forma

print "Hola, mundo libre"


Que aparecerá de la forma siguiente si lo ejecutamos directamente desde el intérprete

Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) [GCC 4.4.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "Hola, mundo libre" Hola, mundo libre >>>

Como veis, tiene dos partes: la orden print y la cadena de caracteres, entre comillas, "Hola, mundo libre". A diferencia de otros lenguajes, en muchos casos en Python se pueden evitar los paréntesis en las llamadas a funciones; este es uno de ellos. Resulta obvio que el argumento para la función print es la cadena, así que ¿para qué más?. Por otro lado, la cadena está entre comillas, como resulta habitual, y print incluye un retorno de carro al final de la misma, también como suele ser habitual. Por último, se utiliza como terminador de la orden el simple retorno de carro; no hace falta ningún otro carácter para indicarlo. 


Si ya está claro que se ha acabado, ¿para qué poner más cosas Lo más habitual en los programas es tenerlos en un fichero aparte. Editémoslo (con alguno de los editores anteriores) y guardémoslo en hola.py. Ya que tenemos abierta la línea de comandos con Python, salgamos de ella (quit() o control-d) y ejecutémoslo directamente con

python hola.py

El resultado será el mismo de antes, como es natural En entornos Linux/Unix es habitual también incluir al principio del fichero con el programa una línea que permite ejecutarlo directamente desde línea de comandos, sin necesidad de llamar explícitamente al intérprete. Esta línea, llamada "shebang", suele ser #!/usr/bin/python o #!/usr/bin/env python (esta última más genérica). El fichero quedaría algo así

#!/usr/bin/python print "Hola, mundo libre"


(Nótese la línea en blanco). Para hacerlo ejecutable se sigue también el procedimiento habitual el Linux

chmod +x hola.py

con lo que posteriormente ya se puede ejecutar también de la forma habitual

bash% ./hola.py

El "./" puede que no sean necesarios si se tiene el propio directorio incluido en el camino de ejecución, pero no suele ser una práctica habitual (ni segura) así que es mejor curarse en salud haciendo de la forma anterior. El resultado, de todas formas, tiene que ser el mismo.

UTF-8

 
Si se tienen problemas para introducir ciertos caracteres, como los acentos o la letra Ñ, el interprete de python responderá con un error con un aspecto similar a esto:

SyntaxError: Non-ASCII character '\xxx' in file programa.py on line X, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Python, en principio, asume que la codificación es ASCII y, por tanto, no reconocerá caracteres fuera de esa codificación. Para solucionar esto, los documentos deberán ser definidos como UTF-8 Para advertir a python de que este es el formato, la forma más simple es indicarlo por medio de una "Línea mágica". Justo debajo del shebang (eso de #!...), se coloca lo siguiente:

# -*- coding: utf-8 -*-de modo que la cabecera quedaría más o menos así:

#!/usr/bin/python # -*- coding: utf-8 -*


Con esto, el interprete de python debería admitir el uso de caracteres UTF-8 en nuestros scripts. En cualquier caso, no es recomendable el uso de caracteres no ASCII en nombre de variables o funciones, etc. Para más detalles o casos más complejos, se recomienda consultar la página de información que indica el propio mensaje de error.

Estructuras de datos básicas
 

¿Qué es una variable?
 
En Informática, una variable es "algo" en lo que puedes almacenar información para su uso posterior. En Python, una variable puede almacenar un número, una letra, un conjunto de números o de letras o incluso conjuntos de conjuntos.
 

¿Definir una variable? 
 
Las variables en Python se crean cuando se definen, es decir, cuando se les asigna un valor. Para crear una variable, tienes que escribir la variable en el lado izquierda , ponemos el signo igual y a continuacion el valor que quieras darle a la derecha


Vamos a ver ejemplos de definiciones de variables:

• y = 2.5
• esquina = 10 + 5
• Nombre1 = "El alumno ya sabe Python"
• _y2 = 'p'
• dias_de_la_semana = [ 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo' ]
• Fecha_de_nacimiento_del curso = [ 'Lunes', 1, 'Octubre', 2010]
• año = 2010


El nombre de una variable debe empezar por una letra o por un carácter subrayado (_) y puede seguir con más letras, numéros o subrayados. Puedes utilizar mayúsculas, pero ten en cuenta que Python distingue entre mayúsculas y minúsculas. Es decir, que A y a son para Python variables distintas
Las letras permitidas son las del alfabeto inglés, por lo que están prohibidas la ñ, la ç o las vocales acentuadas.


Las palabras reservadas del lenguaje también están prohibidas. En caso de que intentes dar un nombre incorrecto a una variable, Python mostrará un mensaje de error al ejecutar el programa. Cada variable se identifica por su nombre, así que en principio no puede haber dos variables distintas con el mismo nombre. (La verdad es que sí que puede haber dos variables distintas con el mismo nombre, pero sólo si cada una de las variables "existe" en su propio espacio, separada de la otra. Lo veremos más adelante.) Aunque no es obligatorio, normalmente conviene que el nombre de la variable esté relacionado con la información que se almacena en ella, para que sea más fácil entender el programa. 

Mientras estás escribiendo un programa, esto no parece muy importante, pero si consultas un programa que has escrito hace tiempo (o que ha escrito otra persona), te resultará mucho más fácil entender el programa si los nombres están bien elegidos. También se acostumbra a utilizar determinados nombres de variables en algunas ocasiones, como irás viendo más adelante, pero esto tampoco es obligatorio. Al definir una cadena, es decir una variable que contiene letras, debes escribir su valor entre comillas (") o apóstrofos ('), como prefieras
 
SIGUE APRENDIENDO DESCARGANDO EL ARCHIVO
 

Con tecnología de Blogger.