Detener la creacion de un objeto

Hernan Martinez Foffani hernan en orgmf.com.ar
Mie Abr 5 15:02:36 CEST 2006


> como detengo la creación de un objeto.

Con una excepción.

> por ejemplo
>
> class Suma:
>         def __init__(self,derecha,izquierda):
>                 ......
>                 ......
>
> lo que yo quiero es que si yo escribo
>
> X= Suma(1,2)
>
> X me almacene el objeto suma. pero si yo escribo
>
> X= Suma(1,-1)
>
> X no me almacene nada, ...

Disparas una excepción en __init__ o, si usas clases derivadas de
type, en __init__ o __new__

> ... sea que no se cree la instancia de la clase.

En realidad, en el momento del __init__ la instancia ya está
creada.  Pero si disparas una excepción allí evitas el enlace
del objeto con el nombre X, por lo que el propio intérprete
se encargará de buscarle un buen destino.

> también me interesaría saber como logro hacer para que no solo no se
> cree la clase, sino que X almacene 0

Como ya te han mencionado, Suma podría ser un factory en vez
de una clase propiamente dicha.

-H.
------------ próxima parte ------------
_______________________________________________
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