Phyton Para Todos
Enviado por jessk10 • 29 de Septiembre de 2013 • 30.429 Palabras (122 Páginas) • 267 Visitas
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
...