python’da c# da olan go to komutu yok.
go to komutuna ihdiyacı olan ne yapacak:
Aslında Python’da da go to var.
İnternette “how to use go to in python” diye aratınca şuradaki
size daha çabuk cevap yazabilmek için Google Çeviri’den yararlandım, oraya göre;
"Python’da goto deyimiyle aynı işlevi gören başka bir kod da comefrom’dur. Hem comefrom hem de goto ifadeleri Python’daki genel programa esneklik katar, böylece bir kişinin program akış mekanizmalarını kontrol etmesine izin verir ve ayrıca önceden onlar için sınırların dışında olan akış deyimlerini kontrol etmek için erişilebilirliği içerir.
Python’da hem goto hem de comefrom deyimlerini kullanmak için, önce bunları ana kütüphaneye almak gerekir. Bunu yapmak için aşağıda belirtilen kodu yazın.
from goto import goto, comefrom, label
Kitaplıklar içe aktarıldıktan sonra, bu işlevlerin her ikisini de programınızda rahatlıkla kullanabilirsiniz.
Python’da bir goto ifadesi kullandığınızda, temel olarak yorumlayıcıya mevcut kod yerine başka bir kod satırını doğrudan çalıştırmasını söylersiniz. Yorumlayıcının bu anda yürütmesini istediğiniz hedef kod satırı, “etiket” olarak adlandırılan bölümde işaretlenmelidir. Etiket içinde etiket hakkında dikkat edilmesi gereken bir şey, bunların çoğunlukla tek bir nokta ile öne eklenmiş rastgele ve keyfi Python tanımlayıcıları olduğu gerçeğidir. Örnek Label .myLabel
gibi . Mesela bu örnekte etiket_İsmini_Hesapla() diye bir fonksiyon tanımlanmış olsun. Ve bu da x değişkenine aktarılsın.
x = etiket_İsmini_Hesapla()
goto *x
Etiket içinde etiket hakkında dikkat edilmesi gereken bir şey, bunların çoğunlukla tek bir nokta ile öne eklenmiş rastgele ve keyfi Python tanımlayıcıları olduğu gerçeğidir. Örnek temelEtiket .benimEtiketim
.
Bir de şuraya baktım, iç içe go to örneği de bu:
from goto import goto, label
for x in range(1, 10):
for y in range(1, 20):
for z in range(1, 30):
print x,y,z
if z == 3:
goto .end
label .end
print "Finished"
Bazı Çeşitli Kod Örnekleri
# Example 1: Using a computed goto:
from goto import goto, label
label .getinput
i = raw_input("Enter either 'a', 'b' or 'c', or any other letter to quit: ")
if i in ('a', 'b', 'c'):
goto *i
else:
goto .quit
label .a
print "You typed 'a'"
goto .getinput
label .b
print "You typed 'b'"
goto .getinput
label .c
print "You typed 'c'"
goto .getinput
label .quit
print "Finished\n"
# Example 2: Restarting a loop:
from goto import goto, label
label .start
for i in range(1, 5):
print i
if i == 3:
try:
output = message
except NameError:
print "Oops! Start again please."
message = "Hello world"
goto .start
print output, "\n"
# Exception Program
# Example 3: When a label goes missing
from goto import goto, label
label .isreal
goto .notreal # Raises a MissingLabelError exception.
"
Bir de Think Python isimli internette ücretsiz dağıtılan bir kitapta da örnek vardı. Ama yerini kaybettim, bulamadım.
Eğer sorunuz çözüldüyse iletinizi çözüldü olarak işaretleyebilirsiniz. Çözülmediyse bize hatırlatın ki araştırmaya devam edelim.
go to
kullanımı genelde pek önerilmiyordu hatırladığım kadarıyla. Bilgilendirme için teşekkürler.
Bu konu son yanıttan 30 gün sonra otomatik olarak kapatıldı. Yeni yanıt girilmesine izin verilmiyor.