Python
PARA TODOS
Raúl González Duque
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 alautor original (Raúl González Duque)
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 6
6 7 8 9
Mi primer programa en Python Tipos básicos
Números Cadenas Booleanos
¿Qué es Python? ¿Por qué Python? Instalación de PythonHerramientas básicas
11 14
15 20 20 22 24 25 27 30 40 43 44 45 46 48 48 51 52 52
Colecciones
Control de flujo
Listas Tuplas Diccionarios
22
Funciones Orientación a Objetos
Sentencias condicionales Bucles Clases y objetos Herencia Herencia múltiple Polimorfismo Encapsulación Clases de “nuevo-estilo” Métodos especiales Diccionarios Cadenas Listas
27 34 40
RevisitandoObjetos
51
Programación funcional
Excepciones Módulos y Paquetes
Módulos Paquetes
Funciones de orden superior Iteraciones de orden superior sobre listas Funciones lambda Comprensión de listas Generadores Decoradores
54
54 56 57 58 59 60 69 72 73 74 74 78 81 85
62 69 73
Entrada/Salida Y Ficheros
Expresiones Regulares Sockets Interactuar con webs Threads
Patrones Usando elmódulo re
Entrada estándar Parámetros de línea de comando Salida estándar Archivos
81 88 92 98
¿Qué son los procesos y los threads? El GIL Threads en Python Sincronización Datos globales independientes Compartir información
98 99 100 102 107 107
introduCCión
¿Qué es Python?
Python es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 cuyo nombreestá 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 ejecutautilizando 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 loslenguajes 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ámicose refiere a que no es necesario declarar el tipo de dato que va a contener una determinada variable,
6
Introducción
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 alque 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....
Regístrate para leer el documento completo.