Python'da "EAFP ilkesini kullanarak" kastedilen nedir? Herhangi bir örnek verebilir misiniz? glossary itibarenPython'da EAFP ilkesi nedir?
cevap
: izin daha af dilemesini
kolay. Bu ortak Python kodlama stili, geçerli anahtarların veya özniteliklerin varlığını varsayar ve varsayımın yanlış olduğunu kanıtlarsa istisnaları yakalar. Bu temiz ve hızlı stil, birçok
try
veexcept
ifadelerinin varlığıyla karakterizedir. teknik bir örnek bir sözlük anahtarını erişmek için bir girişim olacağını böyle C.
gibi birçok diğer dillere ortak LBYL style ile tezat oluşturmaktadır.
EAFP:
try:
x = my_dict["key"]
except KeyError:
# handle missing key
LBYL:
if "key" in my_dict:
x = my_dict["key"]
else:
# handle missing key
LBYL versiyonu iki kez sözlüğe içindeki anahtarı aramak zorundadır ve ayrıca biraz daha az okunabilir düşünülebilir.
güzel örneklerle kısa. –
Bir gelişme, bir başka avantajın, yarış koşullarından kaçınmasıdır. Örneğin, sadece bir dosyayı açmayı deneyin ve eğer alırsanız, aldınız. Görmek yerine * eğer alabilirseniz *, daha sonra onu almaya çalışın ve kontrol ile erişim arasındaki zamanın küçük bir zaman diliminde, bunu daha uzun sürebileceğinizi anlayın. –
Python, anahtarın mevcut olmaması durumunda işleyici yalnızca x değerine varsayılan bir değer atarsa, her ikisinden de kaçınmanın bir yolunu sağlar: 'x = mydict.get ('anahtar')' geri döner '' anahtar ''my_dict' içinde değilse; .get ('anahtar',
- 1. Nümerik dizi veya pandalarla pythonda rutini sadeleştirme
- 2. NSURLRequest Önbellek İlkesi
- 3. Gereksizlik gereksinimi veya ilkesi
- 4. AWS IAM kullanıcı ilkesi
- 5. NodeJS küme zamanlama ilkesi
- 6. Aws S3 kova ilkesi
- 7. Adım adım JMS Bahar İlkesi
- 8. AWS Yönetilen İlke Vs İlkesi
- 9. Raylar Doğrulamaları ve DRY ilkesi
- 10. Çapraz Kaynak Talebi Engellendi: Aynı Kaynak İlkesi,
- 11. Salıncak iş parçacığı ilkesi ihlallerini saptama
- 12. NSMergeConflict (iki iş parçacığı) - birleştirme ilkesi ayarlandığında
- 13. SOLID İlkesi Havuz Kalıbı İle Laravel
- 14. HA RabbitMQ ayarlı yansıtma ilkesi yok
- 15. Coq'da özel bir indüksiyon ilkesi nasıl kullanılır?
- 16. ETags, IIS7, Çekirdek Önbellek İlkesi (enableKernelCache)
- 17. İlkbahar toplu uygulamasında atlama ilkesi uygulamasıyla ilgili garip davranış
- 18. Bir UIWebView'da çapraz etki alanı ilkesi var mı?
- 19. aktarım: tüm eski veriler saklama ilkesi uygulandıktan sonra silindi
- 20. Ember-cli sonra içerik güvenlik ilkesi yönergesi ihlali 0.0.47 Yükseltme
- 21. Matrisler üzerinde döngü yapmak için DRY ilkesi nasıl uygulanır?
- 22. Azure Service Bus kuyruğu oluşturun Paylaşılan Erişim İlkesi program aracılığıyla
- 23. Amazon S3 IAM erişimi için Kova ve Klasör İlkesi?
- 24. Ekip Gezgini Her Yerde Çalışma Öğesi Sorgulama İlkesi İlke
- 25. Aynı-Origin İlkesi ve bir CDN'den JS sunumu
- 26. Cognito ID'ye dayalı bir AWS DynamoDB ilkesi belirtebilir miyim?
- 27. s3 ilkesi aynı bildirimde birden çok IP'ye izin veriyor
- 28. Neden benim İçerik Güvenliği İlkesi her yerde iş ama Safari
- 29. Açık/Kapalı İlkesi, sınıflarımızın arayüzlerini değiştiremediğimizi söylüyor mu? Lütfen sınıfta
- 30. GWT'nin Serileştirme İlkesi beyaz listesine nasıl bir yazı ekleyebilirim?
Guido'ya göre değil: https://mail.python.org/pipermail/python-dev/2014-March/133118.html –