Envíos gratis en compras superiores a $60.000

Python Fácil

$24.010

  • Envío gratis en compras superiores a $60.000
  • Autor: PÉREZ CASTAÑO, Arnaldo

    Páginas: 284

    Coedición: Alfaomega, Marcombo

    ISBN: 9786076226612 Categoría:

    Descripción

    La presente obra, dirigida a estudiantes universitarios, profesores de ciencias de la computación y programadores, representa una excelente oportunidad de acercamiento al lenguaje de programación libre más reconocido y utilizado por grandes empresas como Google o la NASA por su alto nivel de expresividad y sofisticación: Python. Entregado a la tarea de elogiar sus virtudes, el autor nos presenta una amplia gama de posibilidades de uso en la creación de aplicaciones, dotando al lector con las nomenclaturas clave para manipular Python con ayuda de gráficos prácticos que ejemplifican sus explicaciones.

    El lector encontrará en estas páginas una guía que compagina teoría y práctica en igual proporción, descubrirá las ventajas del uso de Python frente a otros lenguajes como PHP, JAVA, y CSharp; conocerá los elementos que componen su estructura sintáctica concisa y clara, así como sus componentes léxicos: los tokens, literales, delimitadores, las sentencias y palabras clave, variables de entorno, tipos de datos, secuencias de las que se vale y las operaciones que pueden realizarse, por ejemplo las llamadas tuplas; es decir, obtendrá las herramientas necesarias para ejercitar y dominar la programación orientada a objetos.

    Comprenderá el funcionamiento de los operadores lógicos, la generación de iteradores de manera explícita o implícita, los decoradores y las metaclases, es decir, las herramientas de Python que permiten simplificar y al mismo tiempo extender el código de un programa. Aprenderá a realizar el procesamiento de ficheros, conocerá las características de un XML y de HTML, así como la estructura de datos (estructuras arbóreas) y algoritmos.

     VENTAJAS

    La presente obra contiene:

    • Ejercicios de programación al final de cada capítulo que pondrán a prueba sus conocimientos y le ayudarán a memorizar cada proceso.
    • Un link para descargar la versión Python 3.1 desde la página Python Software Foundation y una breve guía de instalación.
    • Recomendaciones de productos utilizados por el autor.
    • Códigos ejemplificados.
    • Explicaciones esquemáticas y accesibles.

    CONOZCA

    Las especificaciones técnicas de Python, el lenguaje de programación gratuito y libre que puede utilizarse prácticamente en cualquier sistema operativo. Observará sus múltiples posibilidades de programación, su lenguaje básico y reconocerá las ventajas de usar este programa frente a otros como Java o JavaScript.

     APRENDA

    • A instalar Python en su procesador.
    • A programar en el lenguaje multiparadigma Python.
    • Tecnicismos, instrucciones y operaciones utilizadas en éste lenguaje.
    • El uso que se le puede dar a la sobrecarga de operadores.
    • La sintaxis de la programación orientada a objetos.
    • El comportamiento de Python con HTML y XML.
    • La estructuración arbórea.
    • Procesamiento de ficheros.

     DESARROLLE SUS HABILIDADES PARA

    Crear desde pequeñas aplicaciones de escritorio hasta aplicaciones web por medio del uso de los códigos compactos, elegantes y sencillos de Python.

    A QUIEN VA DIRIGIDO

    A estudiantes universitarios del área de ciencias de la computación, a profesores del área y a programadores que toman a Python como una herramienta para la enseñanza y el desarrollo de proyectos de envergadura.

    CONTENIDO:

    CAPÍTULO 1. Introducción …………………………………………………………………… 1
    1.1. Instalando Python …………………………………………………………………………….. 1
    1.2. Características …………………………………………………………………………………. 3
    1.3. La Máquina virtual…………………………………………………………………………….. 5
    1.4. Entornos de Desarrollo Integrado ……………………………………………………….. 5
    1.5. Sintaxis básica …………………………………………………………………………………. 7
    1.6. Módulos ………………………………………………………………………………………….. 7
    1.6.1. Sentencia import ……………………………………………………………………………….. 7
    1.7. Modo intérprete vs. modo script …………………………………………………………. 9
    1.8. Diferentes versiones …………………………………………………………………………. 9
    1.9. Relación con otros lenguajes ……………………………………………………………. 10
    1.9.1. PHP ……………………………………………………………………………………………….. 10
    1.9.2. Java ………………………………………………………………………………………………. 10
    1.9.3. CSharp …………………………………………………………………………………………… 11
    1.10. Implementaciones del lenguaje ……………………………………………………….. 12
    Ejercicios del capítulo …………………………………………………………………………….. 12
    CAPÍTULO 2. Elementos del lenguaje ……………………………………………………….. 13
    2.1. Estructura léxica …………………………………………………………………………….. 13
    2.1.1. Identación ……………………………………………………………………………………….. 13
    2.1.2. Tokens …………………………………………………………………………………………… 14
    2.1.3. Identificadores …………………………………………………………………………………. 14
    2.1.4. Literales………………………………………………………………………………………….. 15
    2.1.5. Delimitadores ………………………………………………………………………………….. 15
    2.1.6. Sentencias ……………………………………………………………………………………… 15
    2.1.7. Palabras claves ……………………………………………………………………………….. 16
    2.2. Variables ……………………………………………………………………………………….. 16
    2.2.1. Variables de entorno ………………………………………………………………………… 17
    2.3. Tipos de datos ……………………………………………………………………………….. 19
    2.3.1. Secuencias ……………………………………………………………………………………… 19
    2.3.1.1. Cadenas ………………………………………………………………………………. 19
    2.3.1.2. Listas …………………………………………………………………………………… 21
    2.3.1.3. Tuplas ………………………………………………………………………………….. 22
    2.3.2. Diccionarios …………………………………………………………………………………….. 22
    2.3.3. Numéricos ………………………………………………………………………………………. 23
    2.3.4. None ……………………………………………………………………………………………… 25
    2.3.5. Booleanos ………………………………………………………………………………………. 25
    2.3.6. Conjuntos ……………………………………………………………………………………….. 26
    2.4. Operadores de comparación ……………………………………………………………. 26
    2.5. Operadores aritméticos …………………………………………………………………… 27
    2.6. Operadores lógicos …………………………………………………………………………. 29
    2.7. Operadores sobre bits …………………………………………………………………….. 30
    2.8. Operadores de asignación ……………………………………………………………….. 33
    2.9. Otros operadores ……………………………………………………………………………. 34
    2.10. Operaciones …………………………………………………………………………………. 35
    2.10.1. Tipos numéricos …………………………………………………………………………….. 35
    2.10.2. Secuencias ……………………………………………………………………………………. 35
    2.10.3. Diccionarios …………………………………………………………………………………… 40
    2.11. Objetos ………………………………………………………………………………………… 41
    2.11.1. Todo es un objeto en Python …………………………………………………………… 42
    2.12. Funciones …………………………………………………………………………………….. 42
    2.12.1. Argumentos …………………………………………………………………………………… 42
    2.12.2. Funciones anidadas ……………………………………………………………………….. 44
    2.12.3. Generadores …………………………………………………………………………………. 45
    2.12.4. Recursión ……………………………………………………………………………………… 46
    2.12.5. Funciones nativas ………………………………………………………………………….. 46
    2.13. Clases ………………………………………………………………………………………… 49
    2.14. Estructuras de control ………………………………………………………………….. 51
    2.14.1. Sentencia for …………………………………………………………………………………. 52
    2.14.2. Sentencia while ……………………………………………………………………………… 54
    2.14.3. Sentencia if …………………………………………………………………………………… 55
    2.15. Funciones de entrada/salida …………………………………………………………. 56
    2.15.1. ?Hola Mundo? en Python ………………………………………………………………….. 57
    Ejercicios del capítulo …………………………………………………………………………….. 58
    CAPÍTULO 3. Paradigmas de programación ……………………………………………… 59
    3.1. El paradigma orientado a objetos ……………………………………………………… 59
    3.1.1. Objetos …………………………………………………………………………………………… 59
    3.1.2. Herencia …………………………………………………………………………………………. 60
    3.1.2.1. Herencia diamante …………………………………………………………………. 65
    3.1.3. Polimorfismo …………………………………………………………………………………… 66
    3.1.4. Encapsulación …………………………………………………………………………………. 67
    3.1.5. Instancia de una clase ……………………………………………………………………… 70
    3.1.6. Método __init()__ …………………………………………………………………………….. 71
    3.1.7. Argumento self ………………………………………………………………………………… 72
    3.1.8. Sobrecarga de operadores ………………………………………………………………… 72
    3.1.9. Propiedades ……………………………………………………………………………………. 75
    3.1.10. Métodos estáticos y de clase …………………………………………………………… 77
    3.1.11. POO y la reusabilidad …………………………………………………………………….. 78
    3.1.12. Módulos vs Clases …………………………………………………………………………. 80
    3.1.13. Extensión de tipos ………………………………………………………………………….. 80
    3.1.13.1. Subclassing ………………………………………………………………………………….. 81
    3.1.14. Clases de ?Nuevo Estilo? …………………………………………………………………. 83
    3.1.15. Atributos privados ………………………………………………………………………….. 83
    3.2. El paradigma funcional ……………………………………………………………………. 84
    3.2.1. Expresiones lambda …………………………………………………………………………. 85
    3.2.2. Función map () ………………………………………………………………………………… 86
    3.2.3. Función reduce() ……………………………………………………………………………… 87
    3.2.4. Función filter() …………………………………………………………………………………. 88
    3.2.5. Función zip ……………………………………………………………………………………… 89
    3.2.6. Listas por comprensión …………………………………………………………………….. 89
    3.2.7. Funciones de orden superior ……………………………………………………………… 90
    Ejercicios del capítulo …………………………………………………………………………….. 92
    CAPÍTULO 4. Iteradores y Generadores…………………………………………………….. 93
    4.1. Obteniendo un iterador ……………………………………………………………………. 93
    4.2. Ordenando una secuencia ……………………………………………………………….. 95
    4.3. Generando la secuencia de Fibonacci ………………………………………………. 96
    4.4. Mezclando secuencias ordenadas ……………………………………………………. 97
    4.5. Iterando en paralelo por varias secuencias ………………………………………… 98
    4.6. Operaciones en matrices …………………………………………………………………. 99
    4.6.1. Suma ……………………………………………………………………………………………. 100
    4.6.2. Producto por un escalar ………………………………………………………………….. 102
    4.6.3. Producto ……………………………………………………………………………………….. 103
    4.6.4. Transpuesta ………………………………………………………………………………….. 105
    4.7. Generando permutaciones y combinaciones ……………………………………. 106
    4.8. Módulo itertools …………………………………………………………………………….. 108
    Ejercicios del capítulo …………………………………………………………………………… 110
    CAPÍTULO 5. Decoradores y Metaclases …………………………………………………. 111
    5.1. Decoradores ………………………………………………………………………………… 111
    5.1.1. Añadiendo funcionalidad a una clase ………………………………………………… 113
    5.1.2. Pasando argumentos a decoradores ………………………………………………… 114
    5.1.3. Métodos estáticos y de clase con decoradores …………………………………… 115
    5.1.4. Patrón memoize …………………………………………………………………………….. 116
    5.2. Metaclases …………………………………………………………………………………… 118
    5.2.1. Encadenando métodos mutables de list en una expresión …………………… 121
    5.2.2. Intercambiando un método de clase por una función …………………………… 122
    Ejercicios del capítulo …………………………………………………………………………… 123
    CAPÍTULO 6. Procesamiento de ficheros ………………………………………………… 125
    6.1. Procesamiento de XML …………………………………………………………………. 125
    6.1.1. Parser SAX …………………………………………………………………………………… 127
    6.1.2. Verificando correctitud del formato ……………………………………………………. 129
    6.1.3. Contando las etiquetas …………………………………………………………………… 130
    6.1.4. Etiquetas con valor numérico …………………………………………………………… 131
    6.1.5. Tomando valores de atributos ………………………………………………………….. 132
    6.1.6. Principio y fin de un XML …………………………………………………………………. 134
    6.2. Procesamiento de HTML ……………………………………………………………….. 134
    6.2.1. Identificando etiquetas en HTML ………………………………………………………. 135
    6.2.2. Cantidad de enlaces que apunten a Google ………………………………………. 136
    6.2.3. Construyendo una matriz a partir de una tabla HTML ………………………….. 138
    6.2.4. Construyendo una lista a partir de una lista HTML ……………………………… 140
    6.3. Procesamiento de texto plano ………………………………………………………… 141
    6.3.1. Leyendo un fichero de texto con formato CSV ……………………………………. 145
    6.3.2. Escribiendo a un fichero de texto ……………………………………………………… 146
    6.4. Procesamiento de CSV …………………………………………………………………. 148
    6.5. Procesamiento de ficheros comprimidos ………………………………………….. 149
    6.5.1. Archivos Zip ………………………………………………………………………………….. 150
    6.5.2. Archivos Tar ………………………………………………………………………………….. 154
    Ejercicios del capítulo …………………………………………………………………………… 158
    CAPÍTULO 7. Estructuras de datos y algoritmos ……………………………………… 161
    7.1. Estructuras de datos ……………………………………………………………………… 161
    7.1.1. Pilas …………………………………………………………………………………………….. 161
    7.1.2. Colas ……………………………………………………………………………………………. 165
    7.1.3. Listas enlazadas ……………………………………………………………………………. 174
    7.1.4. Listas ordenadas ……………………………………………………………………………. 182
    7.1.5. Árboles …………………………………………………………………………………………. 184
    7.1.5.1. Binarios de Búsqueda …………………………………………………………… 194
    7.1.5.2. AVL ……………………………………………………………………………………. 208
    7.1.5.3. Rojo negro ………………………………………………………………………….. 219
    7.1.5.4. Trie ……………………………………………………………………………………. 233
    7.1.5.5. Quad Tree …………………………………………………………………………… 239
    7.1.6. Grafos ………………………………………………………………………………………….. 244
    7.1.6.1. Dígrafos ……………………………………………………………………………… 247
    7.2. Algoritmos ……………………………………………………………………………………. 249
    7.2.1. Prueba de primalidad ……………………………………………………………………… 251
    7.2.2. Ordenamiento ……………………………………………………………………………….. 253
    7.2.2.1. Mínimos sucesivos ………………………………………………………………. 254
    7.2.2.2. InsertionSort ……………………………………………………………………….. 255
    7.2.2.3. QuickSort ……………………………………………………………………………. 257
    7.2.2.4. MergeSort …………………………………………………………………………… 259
    7.2.3. Potenciación binaria ……………………………………………………………………….. 262
    7.2.4. Grafos ………………………………………………………………………………………….. 263
    7.2.4.1. DFS …………………………………………………………………………………… 263
    7.2.4.2. BFS ……………………………………………………………………………………. 266
    7.2.4.3. k-coloración ………………………………………………………………………… 266
    Ejercicios ……………………………………………………………………………………………. 269
    BIBLIOGRAFÍA ……………………………………………………………………………………….. 271

    Ir a Arriba