Autor: FERNANDEZ, Arturo
Páginas: 276
Coedición: Alfaomega, RC Libros
$28.195
Autor: FERNANDEZ, Arturo
Páginas: 276
Coedición: Alfaomega, RC Libros
Compra en hasta 12 pagos mensuales sin usar tarjeta de crédito
¿Tienes dudas? Consulta nuestra FAQ . Crédito sujeto a aprobación.
Se ofrece un repaso a las principales características del lenguaje, así como otros aspectos relacionados, siempre desde un punto de vista práctico, con la intención de que el lector consiga rápidamente familiarizarse con el lenguaje. Con este libro, el lector conocerá a fondo el lenguaje de programación interpretado, de propósito general Python. Quienes 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 archivos, 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.
Este libro reúne los elementos necesarios para escribir un programa, utilizar una biblioteca o crear módulos, a través de su lectura conocerá técnicas que emplean los desarrolladores para comunicarse con sus bases de datos, formas para interactuar y comunicarse con los servidores web, acceder y manipular archivos, entre muchas otras cosas.
Ventaja Competitiva
Conozca
Aprenda
Realice
ÍNDICE
PRÓ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
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