Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
info:cursos:python:codigofacilito [07/09/2021 06:57] – [funciones Lambda] mate | info:cursos:python:codigofacilito [10/06/2022 02:28] (actual) – [curso python (código facilito)] mate | ||
---|---|---|---|
Línia 1: | Línia 1: | ||
= curso python (código facilito) | = curso python (código facilito) | ||
- | [[https:// | + | {{tag> |
+ | [[https:// | ||
== que es python | == que es python | ||
* reminiscencias perl, pero más natual (pseudocódigo) | * reminiscencias perl, pero más natual (pseudocódigo) | ||
Línia 460: | Línia 461: | ||
for e in factorial(5): | for e in factorial(5): | ||
print e | print e | ||
+ | </ | ||
+ | | ||
+ | == Decoradores | ||
+ | * función que recibe una función y devuelve una función decorada | ||
+ | * es decir, podemos añadir cosas antes (y supongo que después) de la ejecución de la función pasada por parámetro | ||
+ | * <code python> | ||
+ | def decorador(funcion): | ||
+ | def funcionDecorada(*args, | ||
+ | print " | ||
+ | funcion(*args, | ||
+ | | ||
+ | return funcionDecorada | ||
+ | |||
+ | def resta(n,m): | ||
+ | print n-m | ||
+ | | ||
+ | #decorando | ||
+ | print decorador(resta)(5, | ||
+ | decorada = decorador(resta) | ||
+ | decorada(6, | ||
+ | |||
+ | @decorador | ||
+ | def multi(n,m): | ||
+ | print n*m | ||
+ | |||
+ | multi(2,4) | ||
+ | </ | ||
+ | * se podrían anidar varios decoradores, | ||
+ | <code python> | ||
+ | loggeado = False | ||
+ | usuario = " | ||
+ | |||
+ | def admin(f): | ||
+ | def comprobar(*args, | ||
+ | if loggeado: | ||
+ | f(*args, | ||
+ | else: | ||
+ | print "no tiene permisos para ejecutar", | ||
+ | return comprobar | ||
+ | | ||
+ | @admin | ||
+ | def resta(n,m): | ||
+ | print n-m | ||
</ | </ |