Python a fondo
eBook - ePub

Python a fondo

Óscar Ramírez Jiménez

Share book
  1. 648 pages
  2. Spanish
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Python a fondo

Óscar Ramírez Jiménez

Book details
Book preview
Table of contents
Citations

About This Book

Python es el mejor lenguaje de programación tanto para novatos como para veteranos. Es usado en empresas y start-ups de primer nivel, y cada día es más demandado y reconocido mundialmente. Gracias a su carácter polivalente, Python se emplea en las FANG (Facebook, Amazon, Netflix y Google), en scripts simples, aplicaciones de domótica, programación de aplicaciones de escritorio o aplicaciones web complejas que soportan miles de usuarios por segundo, como Instagram o YouTube. Si quiere conocer a fondo este maravilloso lenguaje de programación, aprender a programar en un lenguaje de primer nivel y expandir su conocimiento sobre los lenguajes que conoce, este es su libro. En él se exploran todo tipo de conceptos sobre Python: - Orígenes y evolución del lenguaje.- Conceptos fundamentales de programación: tipos y estructuras de datos, funciones, generadores, decoradores, excepciones, etc.- Programación orientada a objetos en Python.- Programación funcional.- Creación de scripts.- Manejo de bases de datos de diferentes tipos (SQL y noSQL) y ejemplos prácticos de cada una.- Gestión de dependencias, creación y manipulación de paquetes de Python.Asimismo, en este libro encontrará todo lo que necesita para ir un paso más allá y expandir su conocimiento, pues comprende los conceptos esenciales sobre protocolos de Internet, paralelismo y concurrencia en Python, desarrollo de aplicaciones web o de aplicaciones de escritorio, entre otros. Todo ello se acompaña de una aplicación de ejemplo, explicada de forma clara y extensa en cada apartado.Además, el libro cuenta con multitud de casos e incluye un repositorio de código para entrar en profundidad en los ejemplos desarrollado.Si quiere conocer todo el potencial que ofrece este lenguaje, mejorar su conocimiento y aumentar sus cualidades como programador, no lo dude, este libro le guiará en el camino para convertirse en pythonista.Óscar Ramírez es ingeniero en Informáticay pythonista experimentado, que ha orientado su carrera profesional al desarrollo de aplicaciones en Python en múltiples campos desde 2013. Ha contribuido al desarrollo de proyectos en empresas privadas y de software libre en proyectos como Apertium o Django. Es también autor del sitio web www.elpythonista.com y conferenciante en eventos de programación nacionales e internacionales, como PyConEs o Codemotion.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Python a fondo an online PDF/ePUB?
Yes, you can access Python a fondo by Óscar Ramírez Jiménez in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Programación. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Marcombo
Year
2021
ISBN
9788426732873

Capítulo 1
INTRODUCCIÓN AL LENGUAJE PYTHON

Hoy día, la tecnología se ha vuelto un elemento fundamental para todos los seres humanos. Existen dispositivos que ayudan a realizar casi todas las actividades cotidianas, desde teléfonos inteligentes que resuelven cualquier duda en cuestión de segundos a miniordenadores que pueden ser integrados en pacientes como una prótesis, pasando por cohetes espaciales capaces de enviar robots fuera de nuestro planeta y recopilar información constantemente durante años. Muchos de estos componentes tecnológicos son operados por un software encargado de velar por su correcto funcionamiento y por su ejecución óptima. Por tanto, el desarrollo de este software es un pilar muy importante en la evolución de la tecnología y de la humanidad en su conjunto, además de ser un ámbito en auge que, se prevé, seguirá creciendo y necesitando de más expertos en los próximos años.
El software se compone de algoritmos. Estos no son más que la sucesión de comandos, programados en un lenguaje entendible de alguna forma por los humanos, que son transformados a un lenguaje que las máquinas pueden procesar y ejecutar con rapidez. El desarrollo del software se hace utilizando lenguajes de programación que se definen con una gramática específica (similar a un lenguaje hablado por los seres humanos) que define los comandos y la lógica que debe aplicar el sistema en cuestión bajo unos parámetros específicos. Existen multitud de lenguajes de programación, que difieren en sus propósitos y características. Encontraremos desde lenguajes de alto nivel (muy parecidos a los lenguajes que utilizamos para comunicarnos entre humanos) hasta lenguajes muy próximos al código máquina, pasando por lenguajes con un propósito puramente educacional o creados por simple diversión para los desarrolladores.
En este libro se darán las bases y los conceptos principales de uno de los mejores lenguajes de programación que existe hasta el momento, además de ser uno de los que se encuentra en mayor auge: el lenguaje de programación Python.

1 INTRODUCCIÓN

Corría el año 1989 cuando un joven holandés de 24 años comenzó sus primeras implementaciones del lenguaje de programación que hoy conocemos como Python. Este joven era Guido van Rossum y trabajaba para la empresa Centrum Wiskunde & Informatica (CWI). En su tiempo libre, no paraba de pensar en cómo mejorar la interfaz de usuario que utilizaban para trabajar con el sistema operativo Amoeba. Con esta idea en mente, nació el lenguaje de programación Python, que en principio iba a ser un proyecto pequeño de un lenguaje de programación que sucediera al lenguaje ABC que desarrollaban en CWI y que tuviera manejo de excepciones y ayudara a interactuar mejor con el sistema operativo. El nombre del lenguaje proviene de la afición que tenía Van Rossum a la serie de televisión Monty Python's Flying Circus y no de algo relacionado con el mundo de los reptiles.
La primera versión de Python fue lanzada en febrero de 1991 con el número de versión 0.9.0. En esta versión ya tenía componentes como clases con herencia, gestores de excepciones, funciones y tipos de datos como listas y diccionarios o cadenas de caracteres, con lo que desde sus inicios se veía su potencial frente a los demás lenguajes del momento (C++, Common Lisp o Perl).
Van Rossum ha sido el principal autor del lenguaje y quien ha dirigido el rumbo del mismo desde su inicio hasta que, en julio de 2018, decidió abandonar el cargo de benevolent dictator for life (BDL, dictador benevolente de por vida) para formar parte de una comisión directiva formada por cinco miembros.

1.1 EVOLUCIÓN DE LAS VERSIONES DE PYTHON

Durante los años que lleva en desarrollo, Python ha sufrido numerosos cambios y, hoy día, sigue recibiéndolos continuamente por medio de las PEP (siglas en inglés de Python Enhancement Proposals), que son propuestas que se crean en la comunidad de Python y que, de aprobarse, se aplican al código del lenguaje, a la documentación o a la parte específica que trate la PEP (se profundizará en esta cuestión más adelante).
A continuación, se nombran las principales versiones de Python con los cambios más destacados y sus fechas de lanzamiento:
Versión 0.9 (febrero de 1991): primera versión de Python publicada por Van Rossum. Ya tenía componentes actuales como listas, diccionarios, clases y herencia, cadenas de caracteres y otras muchas características.
Versión 1.0 (enero de 1994): se introdujo por primera vez la programación funcional y funciones como lambda, map o filter, entre otras.
Versión 1.4 (octubre de 1996): añade los parámetros por clave-valor y los números complejos.
Versión 1.6 (septiembre del 2000): se arreglan algunos errores y se añade una licencia compatible con GPL (GNU General Public License).
Versión 2.0 (octubre del 2000): se añaden las listas por comprensión y el recolector de basura.
Versión 2.1 (diciembre del 2001): se hacen cambios en el código para soportar ámbitos anidados y ámbitos estáticos. También cambia la licencia de nombre a Python Software Fundation License (PSFL). La Python Software Fundation se crea en ese mismo año como organización sin ánimo de lucro, organizadora y dueña, desde entonces, del código, documentación y especificaciones del lenguaje.
Versión 2.2 (septiembre del 2006): se unifican los tipos de Python, escritos en C, y se añaden los conceptos de generadores.
Versión 2.5 (septiembre del 2008): se introduce la cláusula with en el lenguaje, lo que permite encapsular bloques de código dentro de un administrador de contexto como se explicará más adelante en el libro.
Versión 2.7 (julio del 2010): se añade OrderedDict a collections. Es la última versión de la rama 2.X y se incluyen algunas mejoras de la ya empezada a desarrollar versión 3.X. En noviembre de 2014 se anuncia que la versión 2.7 será la última de las versiones de la rama 2.X y que dejará de tener soporte a principios de 2020, invitando a todos los usuarios a migrar activamente a la versión 3.
Versión 3.0 (diciembre del 2008): tras el lanzamiento de la versión 2.6, se realiza también el de la versión 3 (también llamada Python 3000), en la que, entre otras cosas, se hacen cambios en la parte principal del lenguaje, quitando redundancia de código e introduciendo grandes incompatibilidades con la versión 2.
Versión 3.5 (septiembre del 2014): se añaden corrutinas con la sin-taxis de async y await. Además, se añaden una forma adicional de hacer las asignaciones en iteradores y la nueva librería para definir el tipado de variables: typing.
Versión 3.6 (diciembre del 2016): aparece el concepto de f-string para ayudar al formateado de cadenas de caracteres, se añaden las anotaciones de variables, se permite la generación de generadores asíncronos y se mejora notablemente la implementación de diccionarios.
Versión 3.8 (octubre del 2019): introducción del operador walrus, se añaden los parámetros solo-posicionales usando /en las funciones y el soporte de = para los f-strings, para autodocumentar expresiones y ayudar a depurar.
Versión 3.9 (octubre del 2020): se añade el paquete zoneinfo para facilitar el uso de zonas horarias en fechas, se añade el operador de unión (|) para diccionarios, se permite el uso de expresiones en decoradores, se añaden los métodos removesuffix y removeprefix para cadenas de caracteres, se permite usar tipos del builting para definir hints sin necesidad de importar la librería y se añade Annotated a typing para mejorar la integración de ambas, entre otros muchos cambios. Cabe destacar que en esta versión se han borrado muchas funciones que estaban presentes por retrocompatibilidad con la versión 2, y que en las siguientes versiones se borrarán más.
Para más información sobre cada una de las versiones y los cambios entre una y otra es recomendable revisar con frecuencia la web oficial de lenguaje de programación Python: https://www.python.org/doc/versions/.

1.2 CARACTERÍSTICAS PRINCIPALES DE LOS LENGUAJES DE PROGRAMACIÓN

Los humanos nos comunicamos por medio de un lenguaje (mayoritariamente verbal). De forma similar, para comunicarnos con las máquinas hemos diseñado diferentes formas de comunicación denominadas lenguajes de programación. Al igual que los lenguajes utilizados entre humanos, los lenguajes de programación tienen diferentes características; están orientados a satisfacer las necesidades por las que han sido creados y los gustos de sus creadores y desarrolladores principales. Las principales características por las que un lenguaje de programación se puede caracterizar son la generación a la que pertenece, el nivel de abstracción del lenguaje, el tipo de tipado de variables, los paradigmas de program...

Table of contents