Aprende las Bases del Lenguaje Python
Enfocado a introduciral estudiante en el entorno Python
En este módulo aprenderemos las bases del lenguaje de programación Python.
Este módulo no pretende ser una guía exhaustiva de todas las características
que este lenguaje de programación nos ofrece, sino que está enfocado a introducir
al estudiante en el entorno Python. El objetivo del texto será ayudar
a comprender los ejemplos que se exponen en los módulos de teoría, y proporcionar
una base que permita al estudiante elaborar las distintas actividades
que el curso requiere.
A nivel de pre-requisitos, no asumiremos ningún conocimiento previo de
Python. Sin embargo, es muy importante tener conocimientos de algún lenguaje
de programación previo (C, C++, JAVA, ...), puesto que los conceptos
elementales (variable, bucle, función,...) no se tratarán en profundidad en este
módulo.
El lenguaje Python fue diseñado a finales de la década de los ochenta por Guido
van Rossum. Se trata de un lenguaje de programación de muy alto nivel,
con una sintaxis muy clara y una apuesta firme por la legibilidad del código.
Sin duda es un lenguaje de programación muy versátil, fuertemente tipado,
imperativo y orientado a objetos, aunque contiene también características que
lo convierten en un lenguaje de paradigma funcional.
Python se puede considerar un lenguaje semi-interpretado. A diferencia de C,
el código Python no se ejecuta directamente en la máquina destino, sino que
es ejecutado por un SW intermedio (o intérprete). Sin embargo, al igual que
JAVA, Python compila el código escrito en lenguaje de alto nivel para obtener
un pseudo código máquina (bytecode) que es el que propiamente ejecuta el
intérprete. Existen versiones del intérprete de Python para la mayor parte de
las plataformas.
En este módulo, explicaremos los pasos necesarios para instalar Python en
una determinada plataforma. A continuación veremos las principales características
del lenguaje a nivel sintáctico.
Objetivos
Los objetivos que el alumno debe de haber conseguido una vez estudiados los contenidos de este módulo son los siguientes:
- Refrescar los conceptos elementales de programación aprendidos en cursos anteriores.
- Aprender las bases del lenguaje Python.
- Ser capaz de entender el código que se muestra en los ejemplos de teoría y poder modificarlo para realizar otras funcionalidades.
- Usar características avanzadas de Python que permitan utilizarlo como lenguaje rápido para el diseño y codificación de prototipos de inteligencia artificial.
Existen actualmente múltiples implementaciones del lenguaje Python, en función del lenguaje base en el que se ha construido el intérprete. La más conocida es CPython, o simplemente Python, que ha sido implementada en lenguaje C. Otras opciones disponibles son: IronPython (codificada en C#) o JPython (codificada en JAVA).
Para instalar una determinada versión de Python, aconsejamos recurrir a su sitio web oficial*. En el momento de escribir estos manuales, esta URL contiene toda la información necesaria para instalar el entorno. En la sección de descargas** se pueden obtener los últimos paquetes de instalación para Windows, Linux y MacOS X en sus distintas versiones.
Una vez obtenido el paquete para el sistema operativo y versión adecuados, ejecutaremos el instalador, y en una línea de comandos ejecutaremos el intérprete de Python, y probaremos que todo funciona correctamente mediante el clásico “Hello World”
macbook:~ david$ python
Python 2.6.6 (r266:84292, Oct 16 2010, 21:41:03)
[GCC 4.0.1 (Apple Inc. build 5490)] on darwin
Type ‘‘help’’, ‘‘copyright’’, ‘‘credits’’ or ‘‘license’’ for
more information.
>>> print ‘‘Hello World’’
Hello World
>>> quit()
macbook:~ david$
En este módulo trabajaremos fundamentalmente con un editor de textos, y ejecutaremos los scripts, que programaremos mediante el intérprete. En el ejemplo anterior, podríamos haber guardado la línea print “Hello World” en un archivo llamado Hola.py, y ejecutarlo mediante el intérprete con la instrucción:
macbook:~ david$ python Hola.py
Hello World
Entornos de desarrollo IDE
Existe la posibilidad de instalar entornos de desarrollo IDE específicos para Python. No es el objetivo de este módulo analizar los IDE disponibles en el mercado actualmente, aunque citaremos los tres entornos libres más conocidos. Por un lado PyDEV* es un conocido plug in de Python para el entorno de desarrollo Eclipse, bastante utilizado en el sistema universitario. También existe la opción de usar un entorno propio, como SPE (Stani’s Python Editor)** , o Wing***. En este módulo trabajaremos directamente contra el intérprete de comandos, cualquier editor de textos simple será suficiente para las funcionalidades que desarrollaremos.
Variables
Los tipos básicos del lenguaje Python son esencialmente los ya conocidos en cualquier lenguaje de programación: los valores numéricos, las cadenas de texto, y los valores booleanos. En el código 2.1 se muestra un ejemplo de cada tipo. descargando el libro encontraras ejemplos
Los números enteros se pueden representar en notación decimal, octal (anteponiendo un “0” al valor) o hexadecimal (anteponiendo “0x” al valor). Al igual que en lenguaje C (en el que está escrito Python), los números se pueden representar mediante enteros (por defecto) o long (entero largo), que permite un rango mayor de valores posibles. Este rango, de nuevo como en C, dependerá de la plataforma subyacente, pudiendo ser de 32 o 64 bits.
Los valores flotantes son implementados a bajo nivel directamente con el tipo double de C (registro de 64 bits). Por su parte, los números complejos están soportados de base y en la práctica se implementan mediante dos flotantes, uno para la parte real y otro para la parte imaginaria.
Operadores
Los operadores que soporta el lenguaje Python son los clásicos de cualquier lenguaje de programación. Las tablas 1 y 2 muestran un resumen con ejemplos de estas operaciones. Además, Python provee de extensiones para operaciones más complejas en el módulo math.
El valor de retorno de un operador en Python viene determinado por el tipo de las variables que intervienen en la operación. Así, por ejemplo, si sumamos dos números enteros, nos devolverá otro valor entero. Si uno de los dos operandos es un valor en punto flotante, el resultado de la operación será también un valor en punto flotante.
El tipo básico booleano puede recibir dos valores (true, false), y se utilizan fundamentalmente para expresar el resultado de condiciones, especialmente útiles en los bucles y control de flujo condicional. En la tabla 3 se resumen los distintos operadores que trabajan con valores booleanos, comunes a la mayor parte de lenguajes de programación.
SIGUE APRENDIENDO DESCARGANDO EL ARCHIVO