Curiosidades de Python

Curiosidades de Python

Jul 06, 2023

Si estás por empezar a programar en Python entonces sigue leyendo.

Python es un lenguaje de programación muy popular y versátil que cuenta con muchas características únicas y curiosas.

A continuación, te presento algunas de las más interesantes:

1. Zen de Python

Python tiene una filosofía de diseño que está documentada en el “Zen de Python”, un conjunto de principios que guían el diseño del lenguaje. El Zen de Python se puede ver escribiendo import this en cualquier consola de Python:

import this

Este comando imprimirá el Zen de Python en la consola:

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!

Estos principios son importantes porque guían la forma en que se escribe código en Python y la forma en que se diseña el lenguaje en sí.

2. Todo es un objeto

Al igual que Ruby, En Python, todo es un objeto. Esto significa que incluso los tipos de datos básicos, como enteros y cadenas, son objetos.

Como resultado, se pueden utilizar métodos y atributos en estos tipos de datos:

# Definir una cadena
mensaje = "Hola, mundo!"

# Convertir la cadena en mayúsculas
mensaje_en_mayusculas = mensaje.upper()

# Imprimir la cadena en mayúsculas
print(mensaje_en_mayusculas)   # => "HOLA, MUNDO!"

En este ejemplo, estamos definiendo una cadena y luego utilizando el método upper() para convertirla en mayúsculas. Luego, estamos imprimiendo la cadena en mayúsculas.

3. Listas por comprensión

Python tiene una característica llamada “listas por comprensión” que permite crear listas de manera muy concisa. Por ejemplo:

# Crear una lista de números del 1 al 10
numeros = [x for x in range(1, 11)]

# Crear una lista de cuadrados de números del 1 al 10
cuadrados = [x**2 for x in range(1, 11)]

En este ejemplo, estamos utilizando una sintaxis concisa para crear listas de números y cuadrados de números.

4. Decoradores

Al igual que Typescript, Python tiene una característica llamada “decoradores” que permite agregar funcionalidad a funciones existentes sin modificar su código original. Por ejemplo:

# Definir un decorador
def decorador(funcion):
    def funcion_decorada():
        print("Antes de la función.")
        funcion()
        print("Después de la función.")
    return funcion_decorada

# Decorar una función
@decorador
def saludar():
    print("Hola, mundo!")

saludar()

En este ejemplo, estamos definiendo un decorador que agrega una impresión antes y después de la función decorada. Luego, estamos decorando la función saludar() con el decorador decorador. Cuando llamamos a la función saludar(), se ejecuta la función decorada, que incluye las impresiones agregadas por el decorador.

5. Compatibilidad con Unicode

Python es compatible con Unicode, lo que significa que puede trabajar con caracteres de cualquier idioma. Esto lo hace muy útil para aplicaciones que necesitan soportar múltiples idiomas.

# Crear una cadena con caracteres de varios idiomas
mensaje = "こんにちは, 세상아!"

# Imprimir la cadena
print(mensaje)   # => "こんにちは, 세상아!"

En este ejemplo, estamos creando una cadena que incluye caracteres en japonés y coreano, y luego la estamos imprimiendo. Gracias a la compatibilidad con Unicode de Python, la cadena se imprime correctamente.

6. Módulo antigravity

Python tiene un módulo llamado antigravity que abre una tira cómica de XKCD en el navegador web por defecto:

import antigravity

Este módulo es una broma y no tiene una funcionalidad real en el lenguaje.

7. List comprehensions

Las list comprehensions son una forma concisa de crear listas en Python. Permiten crear una nueva lista mediante la iteración sobre otra secuencia y aplicando una expresión a cada elemento de esa secuencia.

# Crear una lista de los cuadrados de los números del 1 al 10
cuadrados = [x**2 for x in range(1, 11)]
print(cuadrados)   # => [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

En este ejemplo, estamos usando una list comprehension para crear una lista de los cuadrados de los números del 1 al 10. La list comprehension está compuesta por una expresión (x**2) que se aplica a cada elemento de la secuencia (range(1, 11)).

8. Funciones lambda

Las funciones lambda son funciones anónimas que se pueden definir en una sola línea. Son útiles para funciones simples que solo se utilizan una vez.

# Crear una función lambda para sumar dos números
suma = lambda x, y: x + y

# Llamar a la función lambda
resultado = suma(3, 4)
print(resultado)   # => 7

En este ejemplo, estamos definiendo una función lambda que toma dos argumentos y devuelve su suma. Luego, estamos llamando a la función lambda con los valores 3 y 4, lo que devuelve 7.

9. Operador ternario

El operador ternario es una forma concisa de escribir una declaración if-else en una sola línea. Se utiliza para asignar un valor a una variable en función de una condición.

# Asignar el valor "par" o "impar" a una variable en función de si un número es par o impar
numero = 5
resultado = "par" if numero % 2 == 0 else "impar"
print(resultado)   # => "impar"

En este ejemplo, estamos utilizando el operador ternario para asignar el valor “par” o “impar” a la variable resultado en función de si el número es par o impar.

Conclusión

Python es un lenguaje de programación muy popular y utilizado en todo el mundo. Una de las principales razones de su popularidad es su facilidad de aprendizaje y su sintaxis sencilla y legible. Además, Python cuenta con una amplia variedad de librerías y herramientas que facilitan el desarrollo de aplicaciones y proyectos de todo tipo.

En este post, hemos explorado algunas de las características más curiosas y únicas de Python, desde el uso de indentación en lugar de llaves para estructurar el código, hasta la capacidad de manejar excepciones de forma elegante y la utilización de list comprehensions y funciones lambda para escribir código más conciso y legible.

¡Happy Coding!

Enjoy this post?

Buy Juel Valdivia a beer