Subsecciones


1. Abriendo el apetito

Si en alguna ocasión has escrito un guion para intérprete de órdenes (o shell script) de Unix1.1largo, puede que conozcas esta sensación: Te encantaría añadir una característica más, pero ya es tan lento, tan grande, tan complicado...O la característica involucra una llamada al sistema u otra función accesible sólo desde C. El problema en sí no suele ser tan complejo como para transformar el guion en un programa en C. Igual el programa requiere cadenas de longitud variable u otros tipos de datos (como listas ordenadas de nombres de fichero) fáciles en sh, pero tediosas en C. O quizá no tiene tanta soltura con C.

Otra situación: Quizá tengas que trabajar con bibliotecas C diversas y el ciclo normal C escribir-compilar-probar-recompilar es demasiado lento. Necesitas desarrollar software con más velocidad. Posiblemente has escrito un programa al que vendría bien un lenguaje de extensión y no quieres diseñar un lenguaje, escribir y depurar el intérprete y adosarlo a la aplicación.

En tales casos, Python puede ser el lenguaje que necesitas. Python es simple, pero es un lenguaje de programación real. Ofrece más apoyo e infraestructura para programas grandes que el intérprete de órdenes. Por otra parte, también ofrece mucha más comprobación de errores que C y, al ser un lenguaje de muy alto nivel, tiene incluidos tipos de datos de alto nivel, como matrices flexibles y diccionarios, que llevarían días de programación en C. Dados sus tipos de datos más generales, se puede aplicar a un rango de problemas más amplio que Awk o incluso Perl, pero muchas cosas son, al menos, igual de fáciles en Python que en esos lenguajes.

Python te permite dividir su programa en módulos reutilizables desde otros programas Python. Viene con una gran colección de módulos estándar que puedes utilizar como base de tus programas (o como ejemplos para empezar a aprender Python). También hay módulos incluidos que proporcionan E/S de ficheros, llamadas al sistema, sockets y hasta interfaces a IGU (interfaz gráfica con el usuario) como Tk.

Python es un lenguaje interpretado, lo que ahorra un tiempo considerable en el desarrollo del programa, pues no es necesario compilar ni enlazar. El intérprete se puede utilizar de modo interactivo, lo que facilita experimentar con características del lenguaje, escribir programas desechables o probar funciones durante el desarrollo del programa de la base hacia arriba. También es una calculadora muy útil.

Python permite escribir programas muy compactos y legibles. Los programas escritos en Python son típicamente mucho más cortos que sus equivalentes en C o C++, por varios motivos:

Python es ampliable: si ya sabes programar en C, es fácil añadir una nueva función o módulo al intérprete, para realizar operaciones críticas a la máxima velocidad o para enlazar programas en Python con bibliotecas que sólo están disponibles en forma binaria (como bibliotecas de gráficos específicas del fabricante). Una vez enganchado, puedes enlazar el intérprete Python a una aplicación escrita en C y utilizarlo como lenguaje de macros para dicha aplicación.

A propósito, el nombre del lenguaje viene del espectáculo de la BBC ``Monty Python's Flying Circus'' (el circo ambulante de Monty Python) y no tiene nada que ver con desagradables reptiles. Hacer referencias a sketches de Monty Python no sólo se permite: ¡es recomendable!


1.1 Por dónde seguir

Ahora que estás emocionado con el Python, querrás examinarlo con más detalle. Como la mejor manera de aprender un lenguaje es utilizarlo, desde aquí te invitamos a hacerlo.

En el siguiente capítulo se explica la mecánica de uso del intérprete. Es información un tanto aburrida, pero esencial para probar los ejemplos posteriores.

El resto de la guía presenta varias características del sistema y del lenguaje Python mediante ejemplos, empezando por las expresiones, sentencias y tipos de datos sencillos, pasando por las funciones y los módulos, para finalizar con una primera visión de conceptos avanzados, como excepciones y clases definidas por el usuario.



Notas al pie

...1.1
En Windows, el intérprete de órdenes se corresponde con la ventana MS-DOS y los guiones con los archivos .bat, aunque la potencia de los guiones Unix es mucho mayor.

Ver Sobre este documento... para obtener información sobre sugerencias.