Lo primero que necesitamos es preparar nuestro laboratorio. Vamos a usar python como lenguaje de programación para todos nuestros experimentos.

Instalando Python

Hay que asegurarse de instalar la versión 2 de python. La versión 3 a día de hoy experimental y algunas cosas aún no funcionan bien.

Windows

La forma más sencilla es instalar la distribución Winpython. Este es el ejecutable para windows de 32 bits, y este para windows de 64 bits.

MAC OSX

Los usuarios de un MAC tiene una distribución completa de python junto a las librerias numéricas en el paquete Anaconda.

Una vez descargado el archivo, deberán ejecutar en una terminal


$ bash Anaconda-1.5.1-MacOSX-x86_64.sh

Otra opción para los usuarios de Mac es macports, y despues instalar los paquetes necesarios


$ sudo port install py27-scipy py27-matplotlib

Linux/Unix

Los usuarios del sistema operativo del pingüino lo tienen más facil, ya que python viene instalado en la mayoria de las distribuciones. En cualquier caso, a los usuarios de Ubuntu/Debian les debería bastar con un


$ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

Y a los de Fedora con


sudo yum install numpy scipy python-matplotlib ipython python-pandas sympy python-nose

Otras distribuciones tienen formas parecidas de instalar los paquetes scipy y matplotlib

Probando la instalación

Windows

(Gracias Daniel, Ernesto y Paco) Lo primero que los usuarios de windows deben hacer es registrar la instalación. Para ello solo tienen que ir a la carpeta en la que han instalado WinPython y ejecutar el panel de control de WinPython (WinPython Control Panel). En el menú superior pulsar Advanced -> Register distribution, y confirmáis que queréis registrar la distribución. Al registrar la distribución vuestra instalación sabra que los ficheros .py son programas de python.

Ahora llega la hora de probar la instalación. Lo primero que tenemos que comprobar es que el interprete funciona. Después de haber registrado la instalación debería ser tan fácil como ir a inicio -> Programas -> WinPython y ejecutar el interprete (WinPython interpreter). Deberíamos una linea de comandos con algo parecido a


Python 2.7.5 (default, May 28 2013, 16:57:53) 
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Podemos usar esta consola como una simple calculadora.


>>> 2+2
4
>>> 

Linux/Mac OSX

Los usuarios de estos sistemas operativos simplemente pueden abrir una terminal y ejecutar python. Los usuarios de Mac OSX deben asegurarse de ejecutar la versión de python que se han instalado, y no alguna otra versión que su sistema puede tener instalada (gracias Elena) ejecutando


./Anaconda/python

(si se ha utilizado macports el camino puede ser distinto.). En cualquier caso deberían obtener una consola de python bastante similar a


Python 2.7.5 (default, May 28 2013, 16:57:53) 
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Al igual que en Windows podemos usar el interprete de calculadora


>>> 2+2
4
>>> 

Nuestro primer programa

Windows

Ahora vamos a aprender a ejecutar programas. Para ello nos descargamos el programa hola.py. Los usuarios de Windows deberían de poder ejecutar los programas de python con un simple doble click. Si usan el botón de la derecha, el menú desplegable les ofrecerá la posibilidad de editar el programa (editar con IDLE). El editor IDLE también nos ofrece la posibilidad de ejecutar el programa, basta ir al menú superior (Run -> Run Module), o pulsar la tecla F5.

El programa de ejemplo figura.py podremos comprobar si las librerías gráficas están correctamente instaladas.

Linux/Mac OSX

Los usuarios de Linux/MAC (estos últimos no se olviden de poner la ruta correcta) pueden ejecutar los programas simplemente escribiendo en una terminal


$ python hola.py

En cualquier caso los usuarios de Linux/MAC también tienen la posibilidad de usar IDLE.

Po fueno, po fale, po malegro

Python es un lenguaje de programación portable, libre, disponible (gratis) para casi cualquier sistema operativo (Windows, Mac, Unix, etc...), y lleno de funcionalidades y herramientas que nos resultarán útiles, en particular la librería scipy, que nos permitirá realizar gráficas y algunas operaciones matemáticas de forma sencilla. Fue creado a finales de los años 80, por Guido van Rossum, un fan de los Monty Python decidió ponerle este particular nombre al lenguaje que estaba diseñando (no, no es broma). Mas tarde, en 2001, se creó la Python Software Fundation (PSF), una organización sin ánimo de lucro con el objetivo de garantizar y proteger el carácter abierto del lenguaje de programación. Esta característica (y la suerte) han convertido a python en lo que es a día de hoy.

En el ambito científico python es más y más importante. Lo usan en la NASA. Los distintos experimentos del LHC (Gran Colisionador de Hadrones), ATLAS, CMS y LHCb lo usan para analizar datos. Parte del reciente descubrimiento del bosón de Higgs es gracias a un análisis estadístico de los datos que produce el LHC, realizado con python. Normal que el propio CERN calificase a python como el santo grial de la programación.

El análisis estadístico de datos es una pieza clave en la investigación biomédica, bioinformática, en finanzas o economía. Y aquí también python destaca, gracias a sus interfaces para R, o sus capacidades gráficas.

La realidad es que salvo en los proyectos que necesiten una tremenda capacidad de calculo, donde los lenguajes preferidos siguen siendo Fortran o C debido a su velocidad, es difícil encontrar un área del desarrollo científico inmune al efecto python.

Hay muchas y muy buenas fuentes para aprender a programar en python, que el lector del blog tendrá que consultar de vez en cuando. Aquí dejo un par

Alberto Ramos
Alberto Ramos

Investigador postdoctoral en DESY, Alemania

Sobre este blog

Ahora mismo usted está frente a un impresionante devorador de números, capaz de realizar más de 100.000.000.000 operaciones por segundo. Pero en este blog no nos vamos a ocupar de los ordenadores, porque a la ciencia le importan bien poco, al igual que no le interesan los tubos de ensayo ni los aceleradores de partículas. La ciencia trata sobre lo que podemos aprender usando estas herramientas. Veamos qué podemos aprender con los ordenadores.

Ver todos los artículos