Habemus Python 2.4
Ernesto Revilla
erny en sicem.biz
Mar Nov 30 20:58:30 CET 2004
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
>
>
--
Ernesto Revilla
sicem sl
Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13
18220 Albolote
http://www.sicem.biz
Tel: 958 468773 - 637 716189
MSN: aerd en mx3.redestb.es
ICQ: 163888521
---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0443-2, 21/10/2004
Comprobado en: 30/11/2004 20:58:31
avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software.
http://www.avast.com
Más información sobre la lista de distribución Python-es