Retourner l'adresse d'une instance ou None
Salut,
j'ai une classe qui prend en entrée un nom de fichier. Je voudrais qu'à la création d'une instance, si un problème comme un mauvais nom de fichier apparait, l'instance ne soit pas crée. Voici un exemple, ici, si on passe comme paramètre value=7, l'instance ne se crée pas. Je voudrais supprimer la fonction DUMMY intermédiaire, il doit y avoir moyen de faire ca dans DUMMY_CLASS.__init__, mais là je sèche. :?
A+
Pfeuh
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| def DUMMY(**kwds):
obj = DUMMY_CLASS(**kwds)
if obj.success:
return obj
else:
return None
class DUMMY_CLASS():
def __init__(self, **kwds):
self.success = True
if 'value' in kwds.keys():
if kwds['value'] == 7:
self.success = False
for index in range(10):
print index, DUMMY(value=index) |
Code:
1 2 3 4 5 6 7 8 9 10
| 0 <__main__.DUMMY_CLASS instance at 0x00B463F0>
1 <__main__.DUMMY_CLASS instance at 0x00B463F0>
2 <__main__.DUMMY_CLASS instance at 0x00B463F0>
3 <__main__.DUMMY_CLASS instance at 0x00B463F0>
4 <__main__.DUMMY_CLASS instance at 0x00B463F0>
5 <__main__.DUMMY_CLASS instance at 0x00B463F0>
6 <__main__.DUMMY_CLASS instance at 0x00B463F0>
7 None
8 <__main__.DUMMY_CLASS instance at 0x00B463F0>
9 <__main__.DUMMY_CLASS instance at 0x00B463F0> |