Je ne suis pas sûr de ce que vous essayez de faire. Python est un langage très dynamique ; vous n'avez généralement pas besoin de déclarer les variables avant de les assigner ou de les utiliser. Je pense que ce que vous voulez faire est simplement
foo = None
qui attribuera la valeur None
à la variable foo
.
EDIT : Ce que vous vraiment semblent vouloir faire, c'est justement ça :
#note how I don't do *anything* with value here
#we can just start using it right inside the loop
for index in sequence:
if conditionMet:
value = index
break
try:
doSomething(value)
except NameError:
print "Didn't find anything"
Il est un peu difficile de dire si c'est vraiment le bon style à utiliser à partir d'un exemple de code aussi court, mais c'est est une façon plus "pythique" de travailler.
EDIT : ci-dessous le commentaire de JFS (posté ici pour montrer le code)
Sans rapport avec la question de l'OP, le code ci-dessus peut être réécrit comme suit :
for item in sequence:
if some_condition(item):
found = True
break
else: # no break or len(sequence) == 0
found = False
if found:
do_something(item)
REMARQUE : si some_condition()
soulève une exception, alors found
n'est pas lié.
NOTE : si len(séquence) == 0 alors item
n'est pas lié.
Le code ci-dessus n'est pas conseillé. Son but est d'illustrer le fonctionnement des variables locales, à savoir si la "variable" est "définie" ne peut être déterminée qu'au moment de l'exécution dans ce cas. C'est préférable :
for item in sequence:
if some_condition(item):
do_something(item)
break
Ou
found = False
for item in sequence:
if some_condition(item):
found = True
break
if found:
do_something(item)
1 votes
Peut poster un petit programme qui cause cela s'il vous plaît.
0 votes
Vous avez posté une question en double. Nous votons pour fermer cette question en faveur de l'autre.
0 votes
Il y a encore une différence, celle-ci concerne l'impossibilité d'utiliser une variable simplement en la déclarant.
0 votes
Il n'existe pas vraiment de déclaration de variable dans le monde python, comme l'explique votre première question.
1 votes
Pourquoi personne n'a jamais dit "il suffit de l'assigner" parce que les variables n'existent pas avant d'être assignées à une période. Et les variables en Python ne contiennent pas les informations de type. Les objets le font. Les variables servent juste à contenir l'objet à ce moment précis. De plus, le programme ci-dessus devrait lancer une exception NameError dès la première ligne. (C'est ce que j'obtiens dans les versions 2.X et 3.X).