Ir al contenido principal

Python: Decoradores (Decorators)

Un decorador es un patrón de diseño, en el caso de Python permite al desarrollador agregar nuevas funcionalidades a un objeto sin modificar su estructura.

 Podemos usar por ejemplo los decoradores para agregar funcionalidades de log o de medición de rendimiento sin tener que modificar la función o el método a extender.

 Os pongo un ejemplo sin parámetros:
Aquí os pongo otro ejemplo con parámetros:
Los decoradores se pueden usar de manera encadenada: Los decoradores se pueden aplicar también partiendo de clases. Os pongo aquí un ejemplo:

Comentarios

Entradas populares de este blog

MySql: Como multiplicar dos campos fila a fila y sumar el resultado en una misma SELECT

Aquí va un ejemplo de sql básico.

Imaginemos que tenemos una tabla llamada productos_carrito_compra con dos campos: cantidad (con la cantidad de cada producto) y precio (con el precio de cada producto). Necesitamos saber cual es el precio total acumulado en el carrito de la compra, ¿Cómo podríamos obtener esa cantidad sin tener que recurrir a PHP?

Pues así: SELECT SUM(cantidad*precio) as resultado FROM productos_carrito_compra

Videojuegos:Xinput y DirectInput

Desde hace algún tiempo muchos de los juegos de PC que compro en Steam no funcionan con mi gamepad para PC compatible con PS3, he estado investigando un poco y he encontrado la razón.

A día de hoy hay dos tipos de drivers para gamepad en Windows, xInput y DirectInput, xInput es más moderno que DirectInput, está basado en las especificaciones de XBOX360 y es muy utilizado en los juegos que tienen también versión para esta consola.

DirectInput es más antiguo que xInput, son los drivers de gamepad para Windows de toda la vida, tienen más limitaciones técnicas y están cayendo en desuso.

En mi caso lo que hago para mi gamepad es instalar un emulador de drivers de XBOX360 para que mi gamepad me sirva, a veces da errores o se cuelga con el motor del vibrador (por ejemplo con las arañas en Castlevania Lords of Shadow) o no funciona bien en algunas ocasiones (por ejemplo en Batman Origins con el botón de investigar pruebas en el modo detective). Vamos, que no es la solución perfecta. Si queré…