Habemus Python 2.4

Pepe Aracil pepe en diselpro.com
Mie Dic 1 01:49:14 CET 2004


Ya lo entiendo :D

Me he hecho mi primer decorador  y funaciona :DD

Ej.

def crono(f):
     def timer_wrap(*args,**kwargs):
             t1=time.time()
             ret=f(*args,**kwargs)
             print "Tiempo:%f" % (time.time()-t1)
      return ret
     return timer_wrap


@crono
def delay(seconds):
         time.sleep(seconds)

delay(1)
Tiempo:1.000013

----

Saludos.




El Martes, 30 de Noviembre de 2004 20:58, Ernesto Revilla escribió:
> Los decoradores básicamente manipulan objetos de función, de manera que:
> class A:
>     @decorar
>     def met1(....):
>          ....
>
>
> met1 =  decorar(met1)
>
> de esa manera:
>
> class A:
>     @staticmethod
>     def met1(arg1):
>         ....
>
> se equivale a:
>
> class A:
>     def met1(arg1):
>         ....
>
>     met1=staticmethod(met1)
>
> es fácil hacer otros decoradores, simplemente hay que crear una función
> que recibe como argumento una función que la manipula:
>
> esta función crea un wrapper que comprueba que el primer argumento a la
> función sea un entero
>
> def checkType(f):
>     def wrapper(self, *args, **kwargs):
>         if type(args[0])!=int:
>             raise TypeError, "Argumento 1 tiene que ser entero
>         return f(*args,**kwargs)
>     return wrapper
>
> class A:
>     @checkType
>     def met1(self, arg):
>         print arg
>
> No lo he probado, todavía no tengo python 2.4 instalado.
>
> Erny
>
> Anibal Fenoglio escribió:
> >El mar, 30-11-2004 a las 18:27 +0100, Pepe Aracil escribió:
> >>El Martes, 30 de Noviembre de 2004 14:17, Chema Cortés escribió:
> >>>Ya tenemos la versión final del python-2.4 . Ahora a sufrir con las
> >>>actualizaciones :-P
> >>>
> >>>http://www.python.org/2.4/
> >>>
> >>>A ver si mañana puedo sacar el artículo con las novedades de esta
> >>> versión. De momento podéis ver una relación de novedades en:
> >>>http://www.python.org/2.4/highlights.html
> >>
> >>Estoy impaciente por saber entre otras cosas como funcionan los
> >> decoradores. Me he le ido la PEP, pero entre que no controlo mucho el
> >> inglés y que estoy algo espesito por culpa del resfriado, no pillo una
> >> :(
> >
> >Jaja, yo estoy igual, no puedo terminar de enterder para que son y/o
> >como funcionan los "decoradores", espero que pronto encontrar algo al
> >respecto en el dichoso idioma español ;)
> >
> >Saludos
> >
> >  Anibal
> >
> >>Saludos.
> >>_______________________________________________
> >>Python-es mailing list
> >>Python-es en aditel.org
> >>http://listas.aditel.org/listinfo/python-es
> >
> >------------------------------------------------------------------------
> >
> >_______________________________________________
> >Python-es mailing list
> >Python-es en aditel.org
> >http://listas.aditel.org/listinfo/python-es




Más información sobre la lista de distribución Python-es