Acceso
Boletín de Novedades
ResumenPython es un lenguaje de programación interpretado, de propósito general y de alto nivel, que en los últimos años ha experimentado un gran auge, gracias a que es fácil de aprender, puede ejecutarse en diferentes sistemas operativos, y además, permite desarrollar aplicaciones rápidamente sin renunciar a un código legible y fácil de mantener. Empresas y organizaciones importantes, como, por ejemplo, Google y la NASA, utilizan Python como lenguaje de programación preferente en gran parte de sus proyectos, y gracias a ello, pueden desarrollar complejas aplicaciones en tiempo récord. La completa librería estándar que contiene y la gran cantidad de paquetes adicionales existentes permiten emplear este lenguaje para desarrollar software dirigido a diferentes ámbitos, entre los que se incluyen la administración de sistemas, las aplicaciones web, las de tipo científico y las de escritorio con interfaz gráfica de usuario. A diferencia de otros lenguajes, Python permite trabajar con distintos paradigmas de programación, como la orientación a objetos, la programación imperativa y la funcional, por lo que ofrece una gran flexibilidad a la hora de desarrollar aplicaciones. Su licencia open source puede utilizarse en cualquier tipo de proyecto, incluyendo el desarrollo de aplicaciones comerciales; además, existe una extensa comunidad de desarrolladores que contribuyen a la mejora y expansión del lenguaje lo que permite que la implementación de su intérprete no dependa de ninguna compañía concreta. Este libro ofrece un repaso a las principales características del lenguaje, así como otros aspectos relacionados con el mismo, siempre desde un punto de vista práctico, con la intención de que el lector consiga rápidamente familiarizarse con el lenguaje. Cada capítulo presenta ejemplos de código para practicar aplicando los conocimientos adquiridos. Aquellos lectores que nunca han utilizado Python aprenderán sus fundamentos, mientras que los que ya lo conocen podrán descubrir sus funcionalidades más avanzadas. Los primeros capítulos del libro se centran en aspectos fundamentales del lenguaje, como las estructuras, los tipos de datos y los diferentes tipos de sentencias. Estudiados estos conceptos el lector se sumerge en las características avanzadas que contiene el lenguaje, incluyendo la programación orientada a objetos; a continuación, trabajará con ficheros, bases de datos y prácticas relativas a Internet para finalmente, aprender a instalar y distribuir el software desarrollado con Python, sin olvidarse de una de las partes más importantes en el ciclo de desarrollo: las pruebas unitarias. Más Datos
Contenido adicionalConsultar Índice Compartir en:ÍndicePRÓLOGO .................................................................................................. XI CAPÍTULO 1. PRIMEROS PASOS ................................................................... 1 Introducción ..................................................................................................... 1 ¿Qué es Python? .............................................................................................. 1 Un poco de historia ...................................................................................... 2 Principales características ............................................................................ 4 Instalación ........................................................................................................ 6 Windows 7 .................................................................................................... 7 Mac OS X .................................................................................................... 10 Linux ........................................................................................................... 11 Hola Mundo .................................................................................................... 13 Código fuente y bytecode ........................................................................... 14 Herramientas de desarrollo ............................................................................ 15 Editores ...................................................................................................... 15 Entornos integrados de desarrollo (IDE) .................................................... 16 Intérprete interactivo mejorado ................................................................. 17 Depuradores ............................................................................................... 18 Profiling ...................................................................................................... 19 Novedades en Python 3.................................................................................. 20 CAPÍTULO 2. ESTRUCTURAS Y TIPOS DE DATOS BÁSICOS ........................... 23 Introducción ................................................................................................... 23 Conceptos básicos .......................................................................................... 23 Tipado dinámico ......................................................................................... 24 Números ......................................................................................................... 27 Enteros, reales y complejos ........................................................................ 27 Sistemas de representación ....................................................................... 29 Operadores ................................................................................................. 29 Funciones matemáticas .............................................................................. 30 Conjuntos ................................................................................................... 31 Cadenas de texto ............................................................................................ 32 Tipos ........................................................................................................... 33 Principales funciones y métodos ................................................................ 34 Operaciones ............................................................................................... 37 Tuplas ............................................................................................................. 38 Listas ............................................................................................................... 40 Inserciones y borrados ............................................................................... 41 Ordenación ................................................................................................. 43 Comprensión .............................................................................................. 44 Matrices ...................................................................................................... 45 Diccionarios .................................................................................................... 46 Acceso, inserciones y borrados .................................................................. 47 Comprensión .............................................................................................. 49 Ordenación ................................................................................................. 49 CAPÍTULO 3. SENTENCIAS DE CONTROL, MÓDULOS Y FUNCIONES ............ 51 Introducción ................................................................................................... 51 Principales sentencias de control ................................................................... 52 if, else y elif ................................................................................................. 52 for y while ................................................................................................... 53 pass y with .................................................................................................. 55 Funciones ....................................................................................................... 55 Paso de parámetros .................................................................................... 56 Valores por defecto y nombres de parámetros .......................................... 58 Número indefinido de argumentos ............................................................ 59 Desempaquetado de argumentos .............................................................. 61 Funciones con el mismo nombre ................................................................ 61 Funciones lambda ....................................................................................... 62 Tipos mutables como argumentos por defecto .......................................... 64 Módulos y paquetes ....................................................................................... 65 Módulos ..................................................................................................... 65 Funcionamiento de la importación ......................................................... 67 Path de búsqueda ................................................................................... 68 Librería estándar ..................................................................................... 69 Paquetes ..................................................................................................... 69 Comentarios ................................................................................................... 70 Excepciones .................................................................................................... 71 Capturando excepciones ............................................................................ 71 Lanzando excepciones ................................................................................ 72 Excepciones definidas por el usuario ......................................................... 73 Información sobre la excepción ................................................................. 74 CAPÍTULO 4. ORIENTACIÓN A OBJETOS ..................................................... 75 Introducción ................................................................................................... 75 Clases y objetos .......................................................................................... 76 Variables de instancia ................................................................................. 78 Métodos de instancia ................................................................................. 79 Variables de clase ....................................................................................... 79 Propiedades ................................................................................................ 80 Visibilidad ................................................................................................... 82 Métodos de clase ....................................................................................... 84 Métodos estáticos ...................................................................................... 86 Métodos especiales .................................................................................... 87 Creación e inicialización ......................................................................... 87 Destructor .............................................................................................. 89 Representación y formatos .................................................................... 90 Comparaciones ....................................................................................... 91 Hash y bool ............................................................................................. 93 Herencia ..................................................................................................... 94 Simple ..................................................................................................... 95 Múltiple .................................................................................................. 97 Polimorfismo .............................................................................................. 98 Introspección .............................................................................................. 99 CAPÍTULO 5. PROGRAMACIÓN AVANZADA ............................................. 103 Introducción ................................................................................................. 103 Iterators y generators ................................................................................... 103 Iterators .................................................................................................... 104 Funciones integradas ............................................................................ 106 Generators ............................................................................................... 107 Closures ........................................................................................................ 108 Decorators .................................................................................................... 111 Patrón decorator, macros y Python decorators ........................................ 111 Declaración y funcionamiento .................................................................. 112 Decorators en clases................................................................................. 113 Funciones como decorators ..................................................................... 114 Utilizando parámetros .............................................................................. 115 Decorador sin parámetros .................................................................... 115 Decorador con parámetros .................................................................. 116 Programación funcional ............................................................................... 118 Expresiones regulares ................................................................................... 120 Patrones y metacaracteres ....................................................................... 121 Búsquedas ................................................................................................ 123 Sustituciones ............................................................................................ 126 Separaciones ............................................................................................ 127 Modificadores .......................................................................................... 127 Patrones para comprobaciones cotidianas .............................................. 128 Ordenación de datos .................................................................................... 129 Método itemgetter() ................................................................................ 130 Funciones lambda .................................................................................... 132 CAPÍTULO 6. FICHEROS ........................................................................... 133 Introducción ................................................................................................. 133 Operaciones básicas ..................................................................................... 134 Apertura y creación .................................................................................. 134 Lectura y escritura .................................................................................... 137 Serialización .................................................................................................. 140 Ejemplo práctico ....................................................................................... 141 Ficheros xml, json y yaml .............................................................................. 143 XML ........................................................................................................... 143 JSON ......................................................................................................... 146 YAML ........................................................................................................ 148 Ficheros CSV ................................................................................................. 150 Analizador de ficheros de configuración ...................................................... 152 Compresión y descompresión de ficheros .................................................... 155 Formato ZIP .............................................................................................. 155 Formato gzip ............................................................................................. 157 Formato bz2 ............................................................................................. 159 Formato tarball ......................................................................................... 159 CAPÍTULO 7. BASES DE DATOS ................................................................ 163 Introducción ................................................................................................. 163 Relacionales .................................................................................................. 164 MySQL ...................................................................................................... 166 PostgreSQL ............................................................................................... 169 Oracle ....................................................................................................... 171 SQLite3 ..................................................................................................... 173 ORM ......................................................................................................... 174 Sqlalchemy ........................................................................................... 174 Sqlobject ............................................................................................... 178 Nosql ............................................................................................................ 180 Redis ......................................................................................................... 181 MongoDB .................................................................................................. 182 Cassandra ................................................................................................. 184 CAPÍTULO 8. INTERNET ............................................................................ 187 Introducción ................................................................................................. 187 TELNET y FTP ................................................................................................ 188 telnetlib .................................................................................................... 189 ftplib ......................................................................................................... 191 XML-RPC ....................................................................................................... 194 xmlrpc.server ............................................................................................ 195 xmlrpc.client ............................................................................................. 197 Correo electrónico ........................................................................................ 198 pop3 ......................................................................................................... 199 smtp ......................................................................................................... 201 imap4 ........................................................................................................ 203 Web .............................................................................................................. 205 CGI ............................................................................................................ 206 WSGI ......................................................................................................... 208 Web scraping ............................................................................................ 210 urllib.request ........................................................................................ 211 lxml ....................................................................................................... 213 Frameworks .............................................................................................. 215 pyramid ................................................................................................ 215 pylatte .................................................................................................. 218 CAPÍTULO 9. INSTALACIÓN Y DISTRIBUCIÓN DE PAQUETES ..................... 221 Introducción ................................................................................................. 221 Instalación de paquetes ............................................................................... 222 Instalación desde la fuente ....................................................................... 223 Gestores de paquetes ............................................................................... 225 easy_install ........................................................................................... 226 pip ......................................................................................................... 229 Distribución .................................................................................................. 233 Entornos virtuales ........................................................................................ 236 virtualenv ................................................................................................. 236 virtualenvwrapper .................................................................................... 238 pip y los entornos virtuales ...................................................................... 239 CAPÍTULO 10. PRUEBAS UNITARIAS ........................................................ 241 Introducción ................................................................................................. 241 Conceptos básicos ........................................................................................ 242 UNITTEST ...................................................................................................... 243 DOCTEST ....................................................................................................... 245 Otros frameworks ......................................................................................... 247 APÉNDICE A. EL ZED DE PYTHON ............................................................. 249 Traducción de “El zen de Python” ................................................................ 249 APÉNDICE B. CÓDIGO DE BUENAS PRÁCTICAS ......................................... 251 REGLAS ......................................................................................................... 251 REFERENCIAS .......................................................................................... 253 ÍNDICE ALFABÉTICO ................................................................................ 259 |
Encuestas


Inicio


