Saya tidak yakin apa yang Anda coba lakukan. Python adalah bahasa yang sangat dinamis; Anda biasanya tidak perlu mendeklarasikan variabel sampai Anda benar-benar akan menetapkan atau menggunakannya. Saya pikir apa yang ingin Anda lakukan adalah adil
foo = None
yang akan menetapkan nilai None
ke variabel foo
.
EDIT: Apa yang benar-benar ingin Anda lakukan hanyalah ini:
#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"
Agak sulit untuk mengatakan apakah itu benar-benar gaya yang tepat untuk digunakan dari contoh kode pendek seperti itu, tetapi ini adalah cara yang lebih "Pythonic" untuk bekerja.
EDIT: di bawah ini adalah komentar oleh JFS (diposting di sini untuk menunjukkan kode)
Tidak terkait dengan pertanyaan OP tetapi kode di atas dapat ditulis ulang sebagai:
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)
CATATAN: jika some_condition()
memunculkan pengecualian maka found
tidak terikat.
CATATAN: jika len (urutan) == 0 maka item
tidak terikat.
Kode di atas tidak disarankan. Tujuannya adalah untuk menggambarkan cara kerja variabel lokal, yaitu apakah "variabel" "didefinisikan" hanya dapat ditentukan saat runtime dalam kasus ini. Cara yang lebih disukai:
for item in sequence:
if some_condition(item):
do_something(item)
break
Atau
found = False
for item in sequence:
if some_condition(item):
found = True
break
if found:
do_something(item)