Ahoj,

je možné, aby nevznikl objekt, který zrovna vytvářím? Příklad - mám
třídu typu IP adresa, v konstruktoru předávám řetězec IPadresy. Chtěl
bych, aby v případě, že IP adresa není validní, objekt vůbec nevznikl.
Tj. aby konstruktor vrátil None:

>>> ipaddr = IP("192.1023.neco.1")
>>> ipaddr
None

chtěl jsem pak třeba udělat:

if not ipaddr:
        print "zadavas blby vstup"



chtěl jsem to vyřešit asi takto:

class IP(object):
        def __init__(self, IPadresa):
                .....
                if chyba: return None



Jenomže konstruktor vrací vždycky None, tj. touto cestou to nejde.

Zatím jediné, co mne napadlo, je vyřešit to pomocí výjimky, tj.např

try:
        ipaddr = IP("192.168.34536.45")
except ValueError:
        ipaddr = None

Ale myslím, že kdyby objekt vůbec nevznikl, tak by to bylo lepší. Jde
to, nebo to nejde?

D.


-- 
David Rohleder <da...@ics.muni.cz>

_______________________________________________
Python mailing list
Python@py.cz
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem