Libro Python
Python

Excelente Libro Python para Todos

Compártelo

Excelente libro Python para Todos

Libro Python:  Python es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty Python”. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un código legible.

¿Qué es Python?

Python es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty Python”. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un código legible.

Se trata de un lenguaje interpretado o de script, con tipado dinámico, fuertemente tipado, multiplataforma y orientado a objetos.

Lenguaje interpretado o de script

Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa intermedio llamado intérprete, en lugar de compilar el código a lenguaje máquina que pueda comprender y ejecutar directamente una computadora (lenguajes compilados).

La ventaja de los lenguajes compilados es que su ejecución es más
rápida. Sin embargo los lenguajes interpretados son más flexibles y más
portables.

Python tiene, no obstante, muchas de las características de los lenguajes compilados, por lo que se podría decir que es semi interpretado. En Python, como en Java y muchos otros lenguajes, el código fuente se traduce a un pseudo código máquina intermedio llamado bytecode la primera vez que se ejecuta, generando archivos .pyc o .pyo (bytecode optimizado), que son los que se ejecutarán en sucesivas ocasiones.

Tipado dinámico

La característica de tipado dinámico se refere a que no es necesario
declarar el tipo de dato que va a contener una determinada variable
sino que su tipo se determinará en tiempo de ejecución según el tipo
del valor al que se asigne, y el tipo de esta variable puede cambiar si se
le asigna un valor de otro tipo.

Fuertemente tipado

No se permite tratar a una variable como si fuera de un tipo distinto al que tiene, es necesario convertir de forma explícita dicha variable al nuevo tipo previamente. Por ejemplo, si tenemos una variable que contiene un texto (variable de tipo cadena o string) no podremos tratarla como un número (sumar la cadena “9” y el número 8).

En otros lenguajes el tipo de la variable cambiaría para adaptarse al comportamiento esperado, aunque esto es más propenso a errores.

Multiplataforma

El intérprete de Python está disponible en multitud de plataformas
(UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo
que si no utilizamos librerías específcas de cada plataforma nuestro
programa podrá correr en todos estos sistemas sin grandes cambios.

Orientado a objetos

La orientación a objetos es un paradigma de programación en el que los conceptos del mundo real relevantes para nuestro problema se trasladan a clases y objetos en nuestro programa. La ejecución del programa consiste en una serie de interacciones entre los objetos.

Python también permite la programación imperativa, programación
funcional y programación orientada a aspectos.

¿Por qué Python?

Python es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y sencilla; el tipado dinámico, el gestor de memoria, la gran cantidad de librerías disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicación en Python sea sencillo, muy rápido y, lo que es más importante, divertido.

La sintaxis de Python es tan sencilla y cercana al lenguaje natural que
los programas elaborados en Python parecen pseudocódigo. Por este
motivo se trata además de uno de los mejores lenguajes para comenzar
a programar.

Python no es adecuado sin embargo para la programación de bajo nivel o para aplicaciones en las que el rendimiento sea crítico. Algunos casos de éxito en el uso de Python son Google, Yahoo, la NASA, Industrias Light & Magic, y todas las distribuciones Linux, en las que Python cada vez representa un tanto por ciento mayor de los programas disponibles.

Instalación de Python

Existen varias implementaciones distintas de Python: CPython,
Jython, IronPython, PyPy, etc. CPython es la más utilizada, la más rápida y la más madura. Cuando la gente habla de Python normalmente se refere a esta implementación.

En este caso tanto el intérprete como los módulos están escritos en C. Jython es la implementación en Java de Python, mientras que IronPython es su contrapartida en C# (.NET). Su interés estriba en que utilizando estas implementaciones se pueden utilizar todas las librerías disponibles para los programadores de Java y .NET.

PyPy, por último, como habréis adivinado por el nombre, se trata de
una implementación en Python de Python. CPython está instalado por defecto en la mayor parte de las distribuciones Linux y en las últimas versiones de Mac OS. Para comprobar si está instalado abre una terminal y escribe python.

La primera línea nos indica la versión de Python que tenemos instalada. Al fnal podemos ver el prompt (>>>) que nos indica que el intérprete está esperando código del usuario. Podemos salir escribiendo exit(), o pulsando Control + D.

Si no te muestra algo parecido no te preocupes, instalar Python es muy
sencillo. Puedes descargar la versión correspondiente a tu sistema operativo desde la web de Python, en http://www.python.org/download/.

Existen instaladores para Windows y Mac OS. Si utilizas Linux es muy probable que puedas instalarlo usando la herramienta de gestión de paquetes de tu distribución, aunque también podemos descargar la aplicación compilada desde la web de Python.

Herramientas básicas

Existen dos formas de ejecutar código Python. Podemos escribir líneas de código en el intérprete y obtener una respuesta del intérprete para cada línea (sesión interactiva) o bien podemos escribir el código de un programa en un archivo de texto y ejecutarlo.

A la hora de realizar una sesión interactiva os aconsejo instalar y utilizar iPython, en lugar de la consola interactiva de Python. Se puede encontrar en http://ipython.scipy.org/. iPython cuenta con características añadidas muy interesantes, como el autocompletado o el operador ?. (para activar la característica de autocompletado en Windows es necesario instalar PyReadline, que puede descargarse desde http://ipython. scipy.org/ moin/PyReadline/Intro)

La función de autocompletado se lanza pulsando el tabulador. Si escribimos fi y pulsamos Tab nos mostrará una lista de los objetos que comienzan con f (file, filter y finally). Si escribimos file. y pulsamos Tab nos mostrará una lista de los métodos y propiedades del objeto file.

El operador ? nos muestra información sobre los objetos. Se utiliza añadiendo el símbolo de interrogación al fnal del nombre del objeto del cual queremos más información.

En el campo de IDEs y editores de código gratuitos PyDEV (http:// pydev.sourceforge.net/) se alza como cabeza de serie. PyDEV es un plugin para Eclipse que permite utilizar este IDE multiplataforma para programar en Python.

Cuenta con autocompletado de código (con información sobre cada elemento), resaltado de sintaxis, un depurador gráfco, resaltado de errores, explorador de clases, formateo del código, refactorización, etc. Sin duda es la opción más completa, sobre todo si instalamos las extensiones comerciales, aunque necesita de una cantidad importante de memoria y no es del todo estable.

Otras opciones gratuitas a considerar son SPE o Stani’s Python Editor
(http://sourceforge.net/projects/spe/), Eric (http://die-offenbachs.de/eric/),
BOA Constructor (http://boa-constructor.sourceforge.net/) o incluso
emacs o vim.

Si no te importa desembolsar algo de dinero, Komodo (http://www. activestate.com/komodo_ide/) y Wing IDE (http://www.wingware.com/)
son también muy buenas opciones, con montones de características interesantes, como PyDEV, pero mucho más estables y robustos. Además, si desarrollas software libre no comercial puedes contactar con Wing Ware y obtener, con un poco de suerte, una licencia gratuita para
Wing IDE Professional 🙂

Mi primer programa en python – Libro python para todos

Como comentábamos en el capítulo anterior existen dos formas de
ejecutar código Python, bien en una sesión interactiva (línea a línea)
con el intérprete, o bien de la forma habitual, escribiendo el código en
un archivo de código fuente y ejecutándolo.

El primer programa que vamos a escribir en Python es el clásico Hola
Mundo, y en este lenguaje es tan simple como:

print “Hola Mundo”

Vamos a probarlo primero en el intérprete. Ejecuta python o ipython
según tus preferencias, escribe la línea anterior y pulsa Enter. El intérprete responderá mostrando en la consola el texto Hola Mundo.

Vamos ahora a crear un archivo de texto con el código anterior, de
forma que pudiéramos distribuir nuestro pequeño gran programa entre
nuestros amigos. Abre tu editor de texto preferido o bien el IDE que
hayas elegido y copia la línea anterior. Guárdalo como hola.py, por
ejemplo.

Ejecutar este programa es tan sencillo como indicarle el nombre del
archivo a ejecutar al intérprete de Python

Enteros

Los números enteros son aquellos números positivos o negativos que
no tienen decimales (además del cero). En Python se pueden representar mediante el tipo int (de integer, entero) o el tipo long (largo).

La única diferencia es que el tipo long permite almacenar números
más grandes. Es aconsejable no utilizar el tipo long a menos que sea
necesario, para no malgastar memoria.

El tipo int de Python se implementa a bajo nivel mediante un tipo
long de C. Y dado que Python utiliza C por debajo, como C, y a diferencia de Java, el rango de los valores que puede representar depende
de la plataforma.

En la mayor parte de las máquinas el long de C se almacena utilizando
32 bits, es decir, mediante el uso de una variable de tipo int de Python
podemos almacenar números de -231 a 231 – 1, o lo que es lo mismo, de
-2.147.483.648 a 2.147.483.647. En plataformas de 64 bits, el rango es
de -9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807.

El tipo long de Python permite almacenar números de cualquier precisión, estando limitados solo por la memoria disponible en la máquina.
Al asignar un número a una variable esta pasará a tener tipo int, a
menos que el número sea tan grande como para requerir el uso del tipo
long.

Reales

Los números reales son los que tienen decimales. En Python se expresan mediante el tipo float. En otros lenguajes de programación, como
C, tenemos también el tipo double, similar a float pero de mayor precisión (double = doble precisión).

Python, sin embargo, implementa su tipo float a bajo nivel mediante una variable de tipo double de C, es decir, utilizando 64 bits, luego en Python siempre se utiliza doble precisión, y en concreto se sigue el estándar IEEE 754: 1 bit para el
signo, 11 para el exponente, y 52 para la mantisa. Esto signifca que los
valores que podemos representar van desde ±2,2250738585072020 x
10-308 hasta ±1,7976931348623157×10308.

La mayor parte de los lenguajes de programación siguen el mismo esquema para la representación interna. Pero como muchos sabréis esta tiene sus limitaciones, impuestas por el hardware. Por eso desde Python 2.4 contamos también con un nuevo tipo Decimal, para el caso de que se necesite representar fracciones de forma más precisa.

Sin embargo este tipo está fuera del alcance de este tutorial, y sólo es necesario para el ámbito de la programación científca y otros relacionados. Para aplicaciones normales podeis utilizar el tipo float sin miedo, como ha venido haciéndose desde hace años, aunque teniendo en cuenta que los números en coma flotante no son precisos (ni en este ni en otros lenguajes de programación).

Complejos

Los números complejos son aquellos que tienen parte imaginaria. Si no conocías de su existencia, es más que probable que nunca lo vayas a necesitar, por lo que puedes saltarte este apartado tranquilamente. De hecho la mayor parte de lenguajes de programación carecen de este tipo, aunque sea muy utilizado por ingenieros y científcos en general.

En el caso de que necesitéis utilizar números complejos, o simplemente tengáis curiosidad, os diré que este tipo, llamado complex en Python, también se almacena usando coma flotante, debido a que estos números son una extensión de los números reales. En concreto se almacena en una estructura de C, compuesta por dos variables de tipo double, sirviendo una de ellas para almacenar la parte real y la otra para la parte imaginaria.

Cadenas

Las cadenas no son más que texto encerrado entre comillas simples
(‘cadena’) o dobles (“cadena”). Dentro de las comillas se pueden
añadir caracteres especiales escapándolos con \, como \n, el carácter de
nueva línea, o \t, el de tabulación.

Una cadena puede estar precedida por el carácter u o el carácter r, los
cuales indican, respectivamente, que se trata de una cadena que utiliza
codifcación Unicode y una cadena raw (del inglés, cruda). Las cadenas raw se distinguen de las normales en que los caracteres escapados mediante la barra invertida (\) no se sustituyen por sus contrapartidas.

Esto es especialmente útil, por ejemplo, para las expresiones regulares,
como veremos en el capítulo correspondiente.

VER LIBRO

Compártelo