Botón para abrir el Menú Botón para cerrar el Menú
Logo da empresa Alura
Iniciar Sesión Nuestros Planes
Formaciones Conoce a Luri
  • Programación _
  • Front End _
  • Data Science _
  • DevOps _
  • Innovación y Gestión _
Artículos de Tecnología > Programación

Python - Una introducción al Lenguaje

Bruno Divino
Bruno Divino
14/05/2023

Compartir

Mira este artículo:
  1. Lenguaje Interpretado
  2. Lenguaje de Alto Nivel
  3. Soporta Múltiples Paradigmas de Programación
  4. Posee Tipado Dinámico
  5. Administración Automática de Memoria
  6. Historia
  7. Qué vino antes? El huevo o la serpiente?
  8. Filosofía
  9. Python 2 vs Python 3
  10. Utilidad en el Mercado - Desarrollo Web
  11. Data Science
  12. Automatización y Scripting
  13. Conclusión

img1-imagen de una computadora con la palabra python

¿Es una serpiente? No... Quiero decir, sí... Pero no en este caso.

img2-gif del logo de python

Python es un lenguaje de programación interpretado de alto nivel que soporta múltiples paradigmas de programación: Imperativo, Orientado a objetos (POO) y Funcional. Es un lenguaje con tipado dinámico y gestión automática de memoria.

img3 - gif sorprendido

Calmaa, vamos a traducir estos conceptos...

Lenguaje Interpretado

Esto quiere decir que la implementación del lenguaje Python en cada computadora se realiza mediante un proceso en el que uno de los principales componentes es el intérprete.

img4-imagen de como trabajaba python en bajo nivel

Lenguaje de Alto Nivel

Posee una mayor proximidad al lenguaje humano que al lenguaje de las máquinas, osea binario.

img5-img diferencias entre un lenguaje de bajo nivel y uno de alto nivel

Soporta Múltiples Paradigmas de Programación

Los paradigmas de programación son los diferentes enfoques que un programador puede utilizar para desarrollar un código y resolver un problema específico.

  • Imperativo: Las instrucciones se pasan a la computadora en la secuencia u orden en que deben ser ejecutadas.

  • Orientado a Objetos: Tal vez el más popular de los paradigmas. Utiliza las estructuras denominadas Clases y Objetos, su principal característica es permitir una programación multiplataforma.

    Para saber más sobre este paradigma, vea este artículo

  • Funcional: La característica principal es el uso de estructuras llamadas funciones. Estas funciones separan el código en bloques los cuales cada uno tiene una tarea específica.

    Posee Tipado Dinámico

    Dentro del lenguaje de programación, constantemente trabajamos con tipos de datos, algunos ejemplos son: números enteros (int), secuencia de caracteres (str/string/text) y operadores lógicos (boolean). Tener un tipado dinámico significa que el propio programa 'entiende' el tipo de dato que estamos usando, por lo tanto, no es necesario declarar previamente el tipo de dato.

    Administración Automática de Memoria

    Python mantiene o limpia constantemente la memoria no utilizada a través de mecanismos como el garbage collector (Recolector de Basura) y la Reference Counting(Recuento de Referencia). De esta forma, el desarrollador no tiene que preocuparse por la gestión manual de la memoria.

    Historia

    Qué vino antes? El huevo o la serpiente?

    Python fue creado por el programador Holandes Guido Van Hossum y su primera versión fue lanzada en 1991 en el Centrum Wiskunde & Informatica - CWI (Instituto Nacional de Investigación para Matemáticas y Ciencias de la Computación) en Holanda.

    img6-Foto de Guido Van Rossum creador de Python

    Guido Van Rossum

    Fuente: linuxjournal.com

    Al final de la década de los 80, Guido Van Rossum trabajaba con un lenguaje de programación destinado a no programadores llamado ABC, muy utilizado en el sistema operativo Amoeba. Inspirado por la sintaxis fácil del lenguaje, frustrado por el diseño monolítico y otras limitaciones, Van Rossum decidió iniciar un proyecto paralelo que conduciría al nacimiento de Python.

    La primera versión del lenguaje Python (0.9.0), fue lanzada en 1991, incluía los conceptos de clases con Herencia, funciones y los tipos fundamentales de datos. Desde entonces, el lenguaje ha recibido diferentes versiones nuevas. Entre estas, las mas famosas son las versiones 2 y 3.

    La Python Software Foundation (PSF), fundada en 2001, es una organización sin fines de lucro que tiene la propiedad intelectual relacionada al lenguaje Python.

    Actualmente, la PSF es responsable por la protección y la administración general de las versiones del lenguaje.

    img7-Línea de tiempo con la evolución de Python

    Filosofía

    img8-gifgracioso

    Desde su concepción, Python existe sobre el principio de convertir la programación en un acto más intuitivo y menos laborioso en su propia estructura.

    El método de desarrollo Open Source permite que su propia comunidad de programadores y usuarios ayuden en su mejora continua.

    Consideramos que la baja curva de aprendizaje se debe a su sintaxis simple comprensión, Python acaba siendo uno de los lenguajes más populares.

    Una caracteristica muy importante para la comunidad de Python es la legibilidad del código, algo que refuerza la idea de ser un lenguaje más cercano al lenguaje humano y más democrático. Este tema es tan importante que hay elementos que hacen incapié en esto: PEP-8 y Zen of Python.

    PEP-8 es una guía de estilo y estructura de código muy utilizada que, a pesar de no ser obligatoria para el funcionamiento del lenguaje, acaba por hacer que su lectura sea más fluida. Ya The Zen of Python es un pequeño texto que representa la filosofía de su estilo de programación.

    La documentación oficial de Python recomienda el sitio web de Python Checker como ayuda para aquellos que desean "corregir" su propio código de acuerdo con PEP-8.

    The Zen of Python se presenta como un Easter Egg dentro de su propio lenguaje. Basta digitar import this en el terminal de Python.

    Versión Original

    The Zen of Python, by Tim Peters

    Beautiful is better than ugly.

    Explicit is better than implicit.

    Simple is better than complex.

    Complex is better than complicated.

    Flat is better than nested.

    Sparse is better than dense.

    Readability counts.

    Special cases aren't special enough to break the rules.

    Although practicality beats purity.

    Errors should never pass silently.

    Unless explicitly silenced.

    In the face of ambiguity, refuse the temptation to guess.

    There should be one-- and preferably only one --obvious way to do it.

    Although that way may not be obvious at first unless you're Dutch.

    Now is better than never.

    Although never is often better than right now.

    If the implementation is hard to explain, it's a bad idea.

    If the implementation is easy to explain, it may be a good idea.

    Namespaces are one honking great idea -- let's do more of those!

    Traducido al Español

    The Zen of Python, por Tim Peters

    Bonito es mejor que feo.

    Explícito es mejor que implícito.

    Simple es mejor que complejo.

    Complejo es mejor que complicado.

    Lineal es mejor que anidado.

    Disperso es mejor que denso.

    La legibilidad cuenta.

    Los casos especiales no son suficientemente especiales como para romper las reglas.

    Aunque prima la practicidad sobre la pureza.

    Los errores nunca deben ser silenciados.

    A menos que sea explícito.

    Ante la ambigüedad no caiga en la trampa de adivinar.

    Debe haber una y preferiblemente una manera obvia de hacer algo.

    Aunque puede no parecer obvio a menos que seas Holandés.

    Ahora es mejor que nunca.

    Aunque nunca suele ser mejor que ahora mismo.

    Si la implementación es dificil de explicar, es una mala idea.

    Si la implementación es fácil de explicar, podría ser una buena idea.

    Los espacios de nombres son una gran idea, ¡utilicémoslos más!

    Python 2 vs Python 3

    img9

    Es normal que la mayoría de los lenguajes tengan actualizaciones constantes que constribuyan a su avanze y mejoramiento. La mayoría de estas actualizaciones están en el funcionamiento interno del lenguaje y por lo tanto, no hay preocupación por parte del desarrollador, ya que no es necesario corregir sus códigos. Este no es el caso de la competencia entre Python 2 y Python3.

    Spoiler Alert! Python 3 es el vencedor de este enfrentamiento y definitivamente es el futuro del lenguaje. Lanzado en 2008, la nueva versión busca convertir a un uso más facil del lenguaje y cambiar la forma como esta maneja los strings y unicodes, volviendolo más eficiente y fluido.

    Debido a que tiene una sintaxis diferente a las versiones 2.x, la versión 3.x se convirtió en la primera en ser incompatible con las versiones anteriores y, a principios de 2020, se suspendió el soporte para las versiones 2.x.

    Utilidad en el Mercado - Desarrollo Web

    El área de Desarrollo Web abarca todas las actividades utilizadas para crear sitios web y aplicaciones basadas en la web. Hay dos subcategorías cuando hablamos de desarrollo web: Front-end y Back-end.

    • Vea el artículo: Que es Front-End y que es Back-End

​ El lenguaje Python entra en esta historia a través de sus frameworks de desarrollo web back-end, Django y Flask. Estos frameworks son estructuras que facilitan la creación de lógica de back-end, asignando URLs, ayudando con la integración con bases de datos y creando APIs.

Data Science

En esta nueva era del Big Data, saber extraer, manipular y analizar datos se ha vuelto más importante que nunca y en un momento u otro, algún lenguaje de programación tendría que destacar por su eficiencia en estas actividades.

Python brilla en la ciencia de datos gracias a su sintaxis fácil de entender, su implementación de la interpretación lista para usar y el soporte de múltiples bibliotecas de gráficos y estadísticas que la comunidad crea constantemente. Ya sea análisis gráfico o modelos predictivos hechos con Machine Learning, Python resulta ser el favorito de los científicos de datos.

Podemos destacar algunas bibliotecas de extracción, análisis y visualización de datos como Pandas, Matplotlib y Seaborn. En el área de Machine Learning podemos mencionar Scikit-learn, TensorFlow y Pytorch.

Contenido Interesante:

  • Formación Python para Data Science
  • Formación en Estadística con Python

Automatización y Scripting

Todos sueñan utomatizar tareas y dejar que la computadora haga todo el trabajo repetitivo. Bueno, ¡Python también puede hacer eso! Nuevamente, la sintaxis fácil y la velocidad del lenguaje marcan la diferencia optimizando intentos y pruebas.

A través de bibliotecas como Selenium, PyAutoGUI y BeautifulSoup, podemos automatizar tareas rutinarias: enviar correos electrónicos o mensajes o incluso usar la técnica de Web Scraping para extraer datos de un sitio web.

Conclusión

No es casualidad que Python sea uno de los lenguajes de programación más populares en la actualidad. Su fácil sintaxis lo convierte en un lenguaje democrático que no se restringe a los profesionales de la tecnología, siendo utilizado incluso en las escuelas como un primer contacto con la lógica de programación. El modelo de desarrollo de código abierto fomenta el crecimiento de una comunidad activa que crea nuevas bibliotecas y brinda soporte continuo para la mejora del lenguaje. Y por último, el uso de Python como principal lenguaje de manipulación de datos en la actual Era de los Datos demuestra su gran presencia en el mercado laboral. Se puede decir que Python no es solo el lenguaje de programación del momento, sino ¡el lenguaje de programación del futuro!

Para adentrarte al mundo de Python, puedes acceder a estas formaciones:

  • Formación en Machine Learning
  • Formación en Estadisticas con Python
  • Formación Python para Data Science

img-autor

Bruno Divino

Bruno está estudiando Tecnología en Análisis y Desarrollo de Sistemas y es parte del equipo de Instructores aquí en Alura, enfocándose en Python/DevOps. Su objetivo es ayudar a cada estudiante de la mejor manera posible en su viaje de aprendizaje y fomentar constantemente la pasión por la tecnología.

Traducido para Alura Latam por Luis Puig.

Artículo Anterior
¿Qué son los algoritmos? ¿Para qué sirven y cómo se utilizan en la programación?
Siguiente Artículo
Framework: ¿qué es y para qué sirve esta herramienta?

Ver otros artículos sobre Programación

Navegación

  • Planes
  • Instructores
  • Blog
  • Política de privacidad
  • Términos de uso
  • Sobre nosotros
  • Preguntas frecuentes

¡CONTÁCTANOS!

  • ¡Quiero entrar en contacto!

Blog

  • Programación
  • Data Science
  • Front End
  • Innovación y Gestión
  • DevOps

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

NOVEDADES Y LANZAMIENTOS

Aliados

  • Programa de aceleração Scale-Up Endeavor
  • En Alura somos unas de las Scale-Ups seleccionadas por Endeavor, programa de aceleración de las empresas que más crecen en el país.
  • Growth Academy 2021 do Google For Startups
  • Fuimos unas de las 7 startups seleccionadas por Google For Startups en participar del programa Growth Academy en 2021
Alura

Powered by

Caelum

AOVS Sistemas de Informática S.A CNPJ 05.555.382/0001-33

SÍGUENOS EN NUESTRAS REDES SOCIALES

YouTube Facebook Instagram Linkedin Whatsapp Spotify

Cursos

Cursos de Programación
Lógica de Programación | Java
Cursos de Front End
HTML y CSS | JavaScript | React
Cursos de Data Science
Data Science | Machine Learning | Excel | Base de Datos | Data Visualization | Estadística
Cursos de DevOps
Docker | Linux
Cursos de Innovación y Gestión
Transformación Ágil | Marketing Analytics

Alura

  • Educação em Tecnologia

    • logo fiap FIAP
    • logo casa do codigo Casa do Código
    • logo pm3 PM3 - Cursos de Produto
  • Mais Alura

    • logo alura start START BY Alura
    • logo alura lingua Alura Língua
    • logo alura para empresas Alura Para Empresas
    • logo alura latam Alura LATAM
  • Comunidade

    • logo tech guide Tech Guide
    • logo 7 days of code 7 days of code
    • logo Hipsters ponto Jobs Hipsters ponto Jobs
  • Podcasts

    • logo Hipster Network Hipster Network
    • logo Hipsters ponto Tech Hipsters ponto Tech
    • logo Dev sem fronteiras Dev sem Fronteiras
    • logo Like a Boss Like a Boss
    • logo IA Sob Controle IA Sob Controle
    • logo Mesa de Produto Mesa de Produto
    • logo Decode Decode
    • logo FIAPCast FIAPCast