SORU
31 AĞUSTOS 2010, Salı


'in Python kapsam' döngüler

Python'un kuralları kapsamı hakkında demiyorum; genel olarak anlıyorumnasılölçüm döngüsü için Python ile çalışır. Benim sorumnedentasarım kararları bu şekilde yapıldı. Örneğin (hayır cinas tasarlamak):

for foo in xrange(10):
    bar = 2
print(foo, bar)

Yukarıda yazdırır (9,2).

Bu garip olarak beni vurur: 'foo' gerçekten sadece kontrol döngü ve 'bar' döngü içinde tanımlanmıştır. 'Bar' döngü dışında erişilebilir olması (döngü işlevi çok sınırlı var yoksa). için gerekli olabilir anlayabiliyorum Anlamadığım şey kontrol değişkeni döngü çıkar sonra kapsamı içinde kalması için gerekli olmasıdır. Benim durumumda, sadece genel ad clutters ve zor tercümanlar tarafından yakalanmış olacağını hataları izlemek için başka dillerde yapar.

CEVAP
31 AĞUSTOS 2010, Salı


Akla en yakın cevap bu sadece tutar dilbilgisi basit, olmadı bir engel için benimsenmesi ve birçok hep mutlu olmaması için belirsizliği ortadan kaldırmak kapsamına hangi bir isme ait atarken içinde bir döngü oluşturmak. Değişkenler kapsamında beyan edilmez, atama deyimleri yer tarafından ima edilir. global anahtar sadece bu nedenle (atama genel bir kapsam yapılır gösterecek) var.

Güncelleme

Bu konu üzerinde iyi bir tartışma burada: http://mail.python.org/pipermail/python-ideas/2008-October/002109.html

Yapmak için önceki teklifleri için döngü değişkenler döngü için yerel var mevcut sorun üzerinde tökezledi döngü değişkeni kullanan kod bu çıktıktan sonra değerini tutmak döngü, ve bu gibi görünüyor arzu edilen bir özellik olarak kabul edilir.

Kısacası, muhtemelen Python topluluğu :P onu suçlayabilirsin

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FF Radio

    FF Radio

    16 Mayıs 2008
  • Doug Bernards

    Doug Bernard

    7 Kasım 2007
  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011