Detalle del libro
Ver Índice
Prólogo
1. Contenido del libro
2. Progresión del libro
3. Destinado a profesores y alumnos
4. Destinado a investigadores y doctores
5. Destinado a aquellos que vienen de otro lenguaje
Python en el paisaje informático
1. Breve historia de los lenguajes informáticos
1.1 Informática teórica
1.2 Cronología de la informática
1.2.1 Evolución de las problemáticas vinculadas a la informática
1.2.2 Cronología de los lenguajes informáticos
1.3 Historia de Python
1.3.1 Génesis
1.3.2 Extensión del perímetro funcional
1.3.3 Evolución de la licencia
1.3.4 Porvenir
2. Tipología de los lenguajes de programación
2.1 Paradigmas
2.1.1 Definición
2.1.2 Paradigma imperativo y derivados
2.1.3 Paradigma orientado a objetos y derivados
2.1.4 Programación orientada a aspectos
2.1.5 Paradigma funcional
2.1.6 Paradigma lógico
2.1.7 Programación concurrente
2.1.8 Síntesis
2.2 Interoperabilidad
2.3 Niveles de programación
2.3.1 Máquina
2.3.2 Bajo nivel
2.3.3 Alto nivel
2.4 Tipado
2.4.1 Débil vs. fuerte
2.4.2 Estático vs dinámico
2.5 Gramática
2.5.1 Lenguajes formales
2.5.2 Sintaxis
3. Ubicar Python en el paisaje informático
3.1 Tipología de Python
3.1.1 Gramática y sintaxis
3.1.2 Tipado
3.1.3 Nivel de programación
3.1.4 Paradigmas soportados
3.2 Posición estratégica del lenguaje Python
3.2.1 Segmentos de mercado
3.2.2 Nivel de complejidad
3.2.3 Fortalezas del lenguaje
3.2.4 Puntos débiles
3.3 Integración con otros lenguajes
3.3.1 Extensiones C
3.3.2 Integración de programas escritos en C
3.3.3 Integración de programas Python en C
3.3.4 Integración de programas escritos en Java
3.3.5 Integración de programas Python en Java
3.3.6 Otras integraciones
Presentación de Python
1. Filosofía
1.1 Python en pocas líneas
1.1.1 ¿ De dónde proviene el nombre «Python» ?
1.1.2 Presentación técnica
1.1.3 Presentación conceptual
1.2 Comparación con otros lenguajes
1.2.1 Shell
1.2.2 Perl
1.2.3 C, C++
1.2.4 Java
1.2.5 PHP
1.3 Grandes principios
1.3.1 El zen de Python
1.3.2 El desarrollador no es estúpido
1.3.3 Documentación
1.3.4 Python viene con todo incluido
1.3.5 Duck Typing
1.3.6 Noción de código pythónico
2. Gobierno
2.1 Desarrollo
2.1.1 Ramas
2.1.2 Comunidad
2.2 Modo de gobierno
2.2.1 Creador del lenguaje
2.2.2 PEP
2.2.3 Toma de decisiones
3. ¿ Qué contiene Python ?
3.1 Una gramática y una sintaxis
3.2 Varias implementaciones
3.3 Una librería estándar
3.4 Librerías de terceros
3.5 Frameworks
4. Fases de ejecución de un programa Python 73
4.1 Carga de la máquina virtual 73
4.2 Compilación 73
4.3 Interpretación 73
Por qué escoger Python
1. Cualidades del lenguaje
1.1 Cobertura funcional
1.2 Puerta de entrada
1.3 Garantías
2. Difusión
2.1 Empresas
2.2 El mundo de la investigación
2.3 El mundo de la educación
2.4 Comunidad
3. Referencias
3.1 Pesos pesados en la industria informática
3.1.1 Google
3.1.2 Mozilla
3.1.3 Microsoft
3.1.4 Canonical
3.1.5 Cisco
3.2 Empresas de innovación
3.2.1 Servicios de almacenamiento en línea
3.2.2 Cloud computing
3.2.3 Plataforma colaborativa (Forge)
3.2.4 Redes sociales
3.3 Editores de contenidos
3.3.1 Disney Animation Studio
3.3.2 YouTube
3.3.3 Box ADSL
3.3.4 Spotify
3.4 Fabricantes de software
4. Experiencia
4.1 Impresiones
4.2 Desarrollo en un contexto heterogéneo
4.3 Desarrollo rápido
4.4 Venta de desarrollos en Python
4.5 Navegar por lo desconocido
Instalar el entorno de desarrollo
1. Instalar Python
1.1 Windows
1.2 Mac OS
1.3 UNIX/Linux
1.4 Compilación
1.5 Compilación de Python 3.4
2. Instalar librerías externas
2.1 Instalador o administrador de paquetes
2.2 PIP
2.3 Entorno virtual
3. Instalar un IDE
3.1 Consola y herramientas asociadas
3.2 Eclipse + PyDev
3.3 Aptana
3.4 Eric
3.5 PyCharm
3.6 Otras soluciones
3.7 StacklessPython
3.8 Entorno heterogéneo
4. Uso de la consola
4.1 Consola estándar
4.2 iPython
5. Distribuir sus propias aplicaciones
5.1 Herramienta de distribución
5.2 Creación de paquetes distribuibles
5.3 Distribución binaria para Windows
5.4 Distribución binaria para Mac
5.5 Distribución binaria multiplataforma
5.6 Distribución específica para un entorno
Algoritmos básicos
1. Delimitadores
1.1 Instrucción
1.2 Una línea de código = una instrucción
1.3 Comentario
1.4 Una instrucción en varias líneas
1.5 Palabras clave
1.6 Palabras reservadas
1.7 Indentación
1.8 Símbolos
1.9 Operadores
1.10 Uso del carácter de subrayado
1.11 PEP-8
1.12 PEP-7
1.13 PEP-257
2. Instrucciones
2.1 Definiciones
2.1.1 Variable
2.1.2 Función
Este libro acerca de los fundamentos del lenguaje Python 3 está dirigido a aquellos profesionales de la informática, ingenieros, estudiantes, profesores o incluso personas autodidactas que deseen conocer y dominar este lenguaje, muy extendido.
Cubre un perímetro relativamente amplio, detalla todo el núcleo del lenguaje y del procesamiento de los datos y abre perspectivas importantes sobre todo lo que permite realizar Python 3 (desde la creación de sitios web hasta el desarrollo de juegos, pasando por el diseño de una interfaz gráfica con Gtk).
El libro se centra en la rama 3 de Python, no obstante, como el lenguaje Python 2 todavía está muy presente, el autor presenta, cuando existen, las principales diferencias con la rama anterior de Python.
La primera parte del libro detalla las capacidades de Python 3 para responder a las necesidades de las empresas sea cual sea el dominio de la informática en que se trabaje.
La segunda parte describe los fundamentos del lenguaje: las distintas nociones se presentan de manera progresiva, con ejemplos de código que ilustrar cada punto. El autor ha querido que el lector alcance una autonomía real en su aprendizaje, y cada noción se presenta con dos objetivos distintos: permitir a aquél que no conozca un concepto determinado aprenderlo correctamente, respetando su rol, y permitir a quien ya lo conozca encontrar ángulos de ataque originales para ir más allá en su posible explotación.
La tercera parte permite utilizar Python 3 para resolver problemáticas de negocio concretas y, por tanto, cómo utilizar todos los complementos de Python 3 (protocolos, servidores, imágenes,…).
En esta parte, el hilo conductor es la funcionalidad y no el módulo en sí; cada capítulo se centra en la manera de explotar una funcionalidad utilizando uno o varios módulos y presenta una metodología, pero no se centra en una descripción anatómica de los módulos en sí. Los módulos abordados en esta sección son aquellos ya migrados a Python 3 así como las funcionalidades que, actualmente, están maduras en esta versión del lenguaje.
Por último, la última parte del libro es un vasto tutorial que permite poner en práctica, en un marco de trabajo profesional, todo lo que se ha visto anteriormente creando aplicaciones que cubren todos los dominios habituales en el desarrollo (datos, Web con Pyramid, interfaz gráfica con Gtk, scripts de sistema…) y presentar, de este modo, soluciones eficaces de desarrollo basadas en Python 3.
El código fuente de esta última parte puede descargarse íntegramente en el sitio www.ediciones-eni.com para probar los programas y modificarlos a su gusto de cara a realizar sus propios ejercicios y desarrollos.