¿Qué es Python?

Qué es Python

Python es un lenguaje de programación dinámico, intuitivo, moderno, muy utilizado en la industria y en auge. Aunque la definición formal es: un lenguaje de alto nivel, interpretado, de propósito general, dinámicamente tipado, fuertemente tipado, de código libre, multiparadigma y multiplataforma. (casi nada 😀)

La definición puede asustar un poco, pero veremos cada uno de estos conceptos en profundidad para comprender qué es y qué ofrece Python.

Características de Python

A continuación se describe brevemente cada característica formal del lenguaje y algunas no tan formales:

  • Lenguaje de alto nivel: este lenguaje pertenece a uno de los más alejados del código máquina que existe. Este tipo de abstracción permite no tener que hacer gestión de memoria, tener tipado dinámico, tener una máquina virtual o ser interpretado, etc.
  • Interpretado: permite desarrollar código sin tener que compilar el mismo para cada sistema, mejorando así el tiempo de desarrollo.
  • De propósito general: se puede utilizar en diferentes áreas de la informática. Algunos ejemplos pueden ser el desarrollo web, de escritorio, ciencia, ciencia de datos, ciberseguridad, desarrollo de videojuegos, etc.
  • Multiparadigma: soporta diferentes paradigmas de programación como la programación imperativa, programación orientada a objetos (poo) y programación funcional.
  • Multiplataforma: gracias a su máquina virtual, puede ser ejecutado en diferentes sistemas operativos. Ejemplos como: windows, ubuntu, debian (linux en general, macos X o más exóticos como android.
  • Dinámicamente tipado: permite que las variables cambien de tipo de dato dinámicamente, y que no haya que definir a priori el tipo del mismo.
  • Fuertemente tipado: las variables instanciadas son de un tipo único, y no se pueden actuar o interactuar con otros tipos no soportados. Ej: ‘1’ + 1 dará error en vez de 2.

Y otras características no tan formales pero muy importantes:

  • De sintaxis clara y concisa: permite escribir código como si se tratase de una receta en inglés, más que un lenguaje de programación.
  • Con reglas de estilos: gracias al PEP 8, los desarrolladores de python tienen unas reglas de estilos marcadas. Su uso lo que permite que todo el código producido sea consistente.
  • En auge: aunque se creó en la década de los 90, hoy día se utiliza como lenguaje principal en muchos desarrollos. Cada día se utiliza más y la demanda de programadores cualificados está en aumento.
  • De prototipado rápido: permite crear programas rápidamente, lo que supone mejora de costes de producción para empresas.
  • De código libre y con una gran comunidad: tiene una de las mejores comunidades del mundo. Constantemente se comparte conocimiento y hay una gran voluntad por usar código libre.

Campos en los que se usa Python

Gracias a ser un lenguaje de carácter general, Python se utiliza en múltiples campos como:

  • Ciencia: para el cálculo científico se utiliza gracias a su fácil aprendizaje y su gran potencial.
  • Ciencia de datos: uno de los pilares fundamentales, en los que se usa para Machine Learning, Inteligencia Artificial, visión por computador, data mining, etc.
  • Desarrollo web: otro de los pilares fundamentales con ejemplos como Pinterest, Instagram o miles de compañías. Estas compañías usan principalmente Django o Flask para sus principales aplicaciones y negocios.
  • Aplicaciones de escritorio: multitud de aplicaciones escritas en python usando pyGTK, pyQT o tkinter. La gran mayoría para linux pero también para otros sistemas operativos.
  • Desarrollo de videojuegos: para pequeños video juegos utilizando pygame.
  • Ciberseguridad: gracias a su facilidad de uso se integra fácilmente con otras herramientas, scrapping, análisis de programas, de malwares y muchos otros puntos.
  • Finanzas: es uno de los campos en auge para Python, tanto en criptomonedas, trading, o análisis de datos financieros, creación de gráficos.
  • Scripting: uno de los principales usos que tiene este lenguaje es la integración de pequeñas o grandes tareas de sistemas más complejos. Este tipo de pequeños programas se denomina scripts y son utilizados extensivamente.

Historia de Python y sus versiones

Python se empieza a crear a finales del año 1989 y la primera versión vio la luz a principios del año 1992. Fue desarrollada por Guido Van Rossum y gracias a eso se le conoce como Belnevolente Ditador Vitalicio.

Ramas y versiones del lenguaje:

  • Rama 1.x: en el 1994 salió la primera versión estable llamada Python 1.0. La rama 1.x llegó hasta el año 2000 finalizando en Python 1.6.
  • Rama 2.x: python 2.0 aparece en el año 2000 y ha llegado hasta enero del 2020. La última versión ha sido la 2.7 y actualmente ya no recibe actualizaciones.
  • Rama 3.x: la versión 3.0 aparece a finales de 2008 y es la actual. Hay que destacar Python 3.5 donde se hicieron mejoras significativas y desde entonces ha habido muchos cambios. Las versiones Python 3.7, Python 3.8 y Python 3.9 han supuesto nuevos operadores, mejoras significativas de velocidad y un largo etcétera.

Para instalar python puedes ver el siguiente enlace:

Sintaxis de Python

A continuación se muestra la sintaxis y conceptos básicos del lenguaje

Indentación

Toda la lógica del lenguaje se define según la indentación del código.

A diferencia de otros lenguajes en los que se utilizan caracteres de apertura y cierre de bloques lógicos (como {} o begin-end), Python solo utiliza la cantidad de indentación para definir la lógica.

>>> def counter(x, times, step):
...     for i in range(times):
...         x += step
...     return x
...
>>> counter(5, 2, 4)
13
>>> if 'a' in 'hello':
...     print('Yes')
... else:
...     print('No')
...
No

La PEP 8 regula que las indentaciones deben de hacerse utilizando 4 caracteres espacio, y desde Python 3 no se permite mezclar tabulaciones con espacios.

Expresividad

Una de las particularidades de Python es su gran expresividad y claridad que aporta su sintaxis.

La consecuencia de tener una clara y concisa es que al leer el lenguaje da la sensación de estar leyendo una receta de cocina en inglés más que leyendo un código de programación

import random

def number_of_steps(max_steps=10):
    return random.randint(max_steps)

def move(position):
    return position + number_of_steps()

if __name__ == '__main__':
    initial_pos = 0
    curr_position = initial_pos
    for step in range(3):
        next_position = move(curr_position)
        curr_position = next_position
        print(f'Posición actualizada a {curr_position}')

    print(f'La posición final es {curr_position}')

# Posición actualizada a 3
# Posición actualizada a 9
# Posición actualizada a 16
# La posición final es 16

Gracias a la PEP 8, Python está muy bien definido a nivel de nombres permitiendo que las

Comentarios

Los comentarios en Python se añaden utilizando el caracter # y se añaden de la siguiente forma:

  • Comentarios de línea: se añaden en la misma línea con 2 espacios antes y uno después del carácter #.
  • Comentarios de varias líneas: se añaden con literales de cadenas de caracteres definidos con 3 caracteres de comillas simples o dobles. Siempre se añaden con la primera letra en mayúscula salvo que sea un nombre de identificador.
  • Docstring: un tipo especial de comentario es los usados como documentación de funciones. Estos comentarios se añaden en la primera línea de cada función y se pueden acceder como __doc__ o con la función doc.
def greater_than(a, b):
    """Checking if a is greater than b"""
    return a > b

"""comment 
multi line
"""

if __name__ == '__main__':
    print(greater_than.__doc__)
    print(greater_than(5, 6))
# Checking if a is greater than b
# False

Libros recomendados para aprender Python

Estos son los libros que pueden ayudarte a aprender Python, aprender a programar, tipos de datos, algoritmia y mucho más.

Disponible en:

Compartir

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Ver más

  • Responsable: Oscar Ramirez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento: No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a ionos (1&1) que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Publicar un comentario