Ich bin mir nicht sicher, was Sie vorhaben. Python ist eine sehr dynamische Sprache. Normalerweise müssen Sie Variablen erst deklarieren, wenn Sie sie tatsächlich zuweisen oder verwenden wollen. Ich denke, was Sie tun wollen, ist einfach
foo = None
der den Wert None
auf die Variable foo
.
EDIT: Was Sie wirklich zu wollen scheinen, ist genau dies:
#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"
Es ist ein bisschen schwierig zu sagen, ob das wirklich der richtige Stil ist, um ein so kurzes Codebeispiel zu verwenden, aber es es eine eher "pythonische" Arbeitsweise.
EDIT: unten ist ein Kommentar von JFS (hier gepostet, um den Code zu zeigen)
Unabhängig von der Frage des Auftraggebers kann der obige Code wie folgt umgeschrieben werden:
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)
HINWEIS: Wenn some_condition()
eine Ausnahme auslöst, dann found
ist ungebunden.
HINWEIS: wenn len(sequence) == 0 dann item
ist ungebunden.
Der obige Code ist nicht ratsam. Er dient dazu, die Funktionsweise lokaler Variablen zu veranschaulichen, d.h. ob eine "Variable" "definiert" ist, kann in diesem Fall erst zur Laufzeit festgestellt werden. Bevorzugter Weg:
for item in sequence:
if some_condition(item):
do_something(item)
break
Oder
found = False
for item in sequence:
if some_condition(item):
found = True
break
if found:
do_something(item)