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 | ||
| </ | </ | ||