ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Phyton Para Todos

jessk1029 de Septiembre de 2013

30.429 Palabras (122 Páginas)289 Visitas

Página 1 de 122

Python

PARA TODOS

Raúl González Duque

Python para todos

por Raúl González Duque

Este libro se distribuye bajo una licencia Creative Commons Reconocimiento 2.5 España. Usted es libre de:

copiar, distribuir y comunicar públicamente la obra

hacer obras derivadas

Bajo las condiciones siguientes:

Reconocimiento. Debe reconocer y dar crédito al autor original (Raúl González Duque)

Puede descargar la versión más reciente de este libro gratuitamente en la web http://mundogeek.net/tutorial-python/

La imágen de portada es una fotografía de una pitón verde de la especie Morelia viridis cuyo autor es Ian Chien. La fotografía está licenciada bajo Creative Commons Attribution ShareAlike 2.0

Contenido

Introducción 7

¿Qué es Python? 7

¿Por qué Python? 8

Instalación de Python 9

Herramientas básicas 10

Mi primer programa en Python 12

Tipos básicos 15

Números 16

Cadenas 21

Booleanos 22

Colecciones 24

Listas 24

Tuplas 26

Diccionarios 27

Control de flujo 29

Sentencias condicionales 29

Bucles 32

Funciones 36

Orientación a Objetos 42

Clases y objetos 42

Herencia 45

Herencia múltiple 46

Polimorfismo 47

Encapsulación 48

Clases de “nuevo-estilo” 50

Métodos especiales 50

Revisitando Objetos 53

Diccionarios 53

Cadenas 54

Listas 55

Programación funcional 57

Funciones de orden superior 57

Iteraciones de orden superior sobre listas 59

Funciones lambda 60

Comprensión de listas 61

Generadores 62

Decoradores 63

Excepciones 65

Módulos y Paquetes 72

Módulos 72

Paquetes 75

Entrada/Salida Y Ficheros 77

Entrada estándar 77

Parámetros de línea de comando 78

Salida estándar 78

Archivos 82

Expresiones Regulares 85

Patrones 85

Usando el módulo re 89

Sockets 92

Interactuar con webs 96

Threads 102

¿Qué son los procesos y los threads? 102

El GIL 103

Threads en Python 104

Sincronización 106

Datos globales independientes 111

Compartir información 111

Serialización de objetos 113

Bases de Datos 117

DB API 117

Otras opciones 124

Documentación 125

Docstrings 125

Pydoc 126

Epydoc y reStructuredText 127

Pruebas 135

Doctest 135

unittest / PyUnit 139

Distribuir aplicaciones Python 143

distutils 143

setuptools 147

Crear ejecutables .exe 152

Índice 155

7

I

ntroducc ión

¿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 refiere a que no es necesario declarar el tipo de dato que va a contener una determinada variable,

Python para todos

8

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íficas 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

Introducción

9

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 refiere 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. Si está instalado se iniciará la consola interactiva de Python y obtendremos parecido a lo siguiente:

Python 2.5.1 (r251:54863, May 2 2007, 16:56:35)

[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

>>>

Python para todos

10

La primera línea nos indica la versión de Python que tenemos instalada. Al final 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 fi

...

Descargar como (para miembros actualizados) txt (211 Kb)
Leer 121 páginas más »
Disponible sólo en Clubensayos.com