[pyar] Ejecutar un método al finalizar la instanciación

Juan BC jbc.develop en gmail.com
Lun Jul 12 21:30:22 ART 2010


El 12/07/10 20:37, John Rowland Lenton escribió:
> On Mon, Jul 12, 2010 at 04:25:08PM -0300, Juan BC wrote:
>>
>> agrego: googlee un cacho y todos me mandan a classmethod
>
> si eso es verdad, están "todos" equivocados :)
>
> Fijate en la documentación de __new__:
>
>    object.__new__(cls[, ...])
>
>      Called to create a new instance of class cls. __new__() is a static
>      method (special-cased so you need not declare it as such) that takes
>      the class of which an instance was requested as its first
>      argument. The remaining arguments are those passed to the object
>      constructor expression (the call to the class). The return value of
>      __new__() should be the new object instance (usually an instance of
>      cls).
>
> si creés que la documentación pueda estar mal, fijate que el super(),
> para un classmethod, se usaría así:
>
>     super(A, cls).method(args...)
>
> similar a como se llama para un método común,
>
>     super(A, self).method(args...)
>
>
> si todavía no te convencés, hacé
>
>
>    class A(object):
>      def foo(*a): pass
>
>      @classmethod
>      def bar(*a): pass
>
>      @staticmethod
>      def baz(*a): pass
>
> y fijate qué devuelve A.foo, A.bar y A.baz. Comparalo con lo que te da
> el A.__new__ implícito, y con el __new__ con @classmethod y etcétera.
>
> HTH,
>
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

Solo decia que todos mis intentos por aprender me resultaban en 
busquedas infructuosas... ponia "staticmethod python"en google y me 
salian cosas sobre classmethod. no que alguno este equivocado o no.. 
sino que no me salian las busquedas como yo queria



More information about the pyar mailing list