Detener la creacion de un objeto
Juan Ignacio Rodriguez de Leon
jileon en parcan.es
Mie Abr 5 10:13:21 CEST 2006
Alvaro wrote:
> como detengo la creación de un objeto.
> 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, sea que no se cree la instancia de la clase.
>
> también me interesaría saber como logro hacer para que no solo no se
> cree la clase, sino que X almacene 0
¿No puedes usar un método _factoría_? Algo así:
> class Suma:
> def __init__(self,derecha,izquierda):
> if izquierda < 0:
> raise ValueError('Nop')
> ......
>
> def mkSuma(derecha, izquierda):
> try:
> result = Suma(derecha, izquierda)
> except ValueError:
> result = 0
> return result
Un saludo
Más información sobre la lista de distribución Python-es