Python iddiası

Python işlevleri ve meth

Python assert anahtar sözcüğü, bir koşulun doğru olup olmadığını test eder. Bir koşul yanlışsa, program isteğe bağlı bir mesajla duracaktır. Assert ifadeleri, kodda hata ayıklamak ve hataları işlemek için kullanılır. Bir üretim ortamında bir assert ifadesi kullanmamalısınız.

Hata ayıklama, herhangi bir dilde programlamanın çok önemli bir parçasıdır. Python'da programlarda hata ayıklarken, belirli bir koşulu test etmek istediğiniz zamanlar olabilir. Bu koşul karşılanmazsa, program bir hata döndürmelidir. Bu şekilde, kodunuzda neyi düzelteceğinizi bilirsiniz.

Python assert anahtar sözcüğünün devreye girdiği yer burasıdır. Assert ifadesi Python'da belirli bir koşulu test etmenizi sağlar. Hataları işlemek için Python hata ayıklaması sırasında yaygın olarak kullanılır.

Bu Python öğreticisi, iddianın önemini ve nasıl kullanılacağını keşfedecektir. beyanı ileri sürmek. Başlamanıza yardımcı olması için bir programda assert ifadesini kullanmanın birkaç örneğini inceleyeceğiz.




Python'da Assertion

Assertion ifadesi Python'daki koşulları test eder ve hataları düzeltir daha hızlı bir şekilde. Assert deyimiyle test ettiğiniz koşul True olarak değerlendirilirse, program çalışmaya devam eder. Onay False olarak değerlendirilirse, program bir AssertionError (+/- isteğe bağlı bir mesaj) oluşturur.

Olumlamalar, kod çalıştırıldığında belirli koşulları belirlemek ve kaldırmak için kullanılır. Örneğin, listenin değerlerini değiştirecek bir liste üzerinde bir işlem yürüttüğünüzü varsayalım. Liste değiştirilmeden önce belirli koşulların karşılandığından emin olmak için bir iddia kullanmak isteyebilirsiniz. Bu, listenizde doğru olmayabilecek değişiklikler yapılmasını önleyecektir.

İddialar, SyntaxError

gibi program hatalarının yerini almaz. a> veya bir NameError. Bir kod bloğunu test etmek istiyorsanız “… hariç” daha uygun olur. Ancak kodunuzda belirli bir koşulu kontrol etmek istiyorsanız, bir assert ifadesi daha yararlı olabilir.


İddiaları dikkatli bir şekilde ve yalnızca hata ayıklama sırasında kullanmalısınız. Bu iki nedenden dolayı önemlidir. 

Katılımcıların %81'i teknolojilerinden daha emin hissettiklerini belirtti. bir eğitim kampına katıldıktan sonra iş fırsatları. Bugün bir eğitim kampına katıl.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan az zaman harcadı.

İlk olarak, iddialar geliştiricilerin bir hatanın nedenini diğer kodu etkilemeden önce bulmasına yardımcı olur. İddialar bir programda herhangi bir hata oluşturmaz. Bir geliştiricinin kodunda bir iddia tanımlaması gerekir.

İkincisi, Python yorumlayıcı kullanıcıları iddia ifadelerini devre dışı bırakabilir. Bu nedenle, iddialara da güvenirseniz bir takım sorunlar ortaya çıkabilir. hata işleme için yoğun bir şekilde ve bir kullanıcı bir ssertions.

Bir geliştirme ortamının dışındaki verileri doğrulamak için asla iddiaları kullanmamalısınız. Bunun nedeni, iddiaları devre dışı bırakmanın programınızın nasıl çalıştığı üzerinde önemli bir etkisi olabilir. İddialara güvenirseniz ve bunlar devre dışı bırakılırsa, programınız beklemediğiniz yeni hatalar verebilir.




Python Assert İfadeleri

Bir assert ifadesi, bir koşulun doğru olup olmadığını kontrol eder. Bir koşul True olarak değerlendirilirse, program çalışmaya devam eder. Bir koşul yanlışsa, program AssertionError döndürür. Bu noktada program çalışmayı durduracaktır.

Python'da assert bir anahtar kelimedir. Bu, kullandığınızda assert anahtar sözcüğünü özel bir renkte göreceğiniz anlamına gelir. Aşağıdaki söz dizimini kullanır:

koşul, mesaj

Burada iddianın alabileceği iki parametre şunlardır:

  • koşul: test etmek istediğiniz koşul (gerekli)
  • mesaj : assert ifadesinin yürütülmesi üzerine görüntülemek istediğiniz mesaj (isteğe bağlı)



Python Örneği Assert

Şunu açıklamak için bir örnek kullanalım. eylemde anahtar kelimeyi belirtin. Bir öğrencinin belirli bir testi geçip geçmediğini hesaplayan bir program oluşturduğumuzu varsayalım. 52 veya üzeri bir not başarılı, 52'den düşük herhangi bir not başarısızdır.

Herhangi bir hesaplama yapmadan önce programa bir kullanıcının verilerini eklediğimizden emin olmak istiyoruz. Aksi takdirde, programımız, veriler mevcut olmasa bile bir kullanıcının testi geçemediğini söyleyebilir.


Aşağıdaki kodu kullanarak hata kontrolü oluşturabiliriz:

student_grades Student_grades'de g için = [57, 74, 49, 0, 87, 66, 89]: assert Student_grades[g] != 0 if Student_grades[g] >= 52: print('Bu öğrenci geçti.') else: print('Bu öğrenci başarısız oldu.') print('Program complete')

Kodumuzu çalıştırdığımızda program aşağıdaki çıktıyı döndürür:

Bu öğrenci geçti. Bu öğrenci geçti. Bu öğrenci başarısız oldu. ... assert Student_grades[g] != 0 AssertionError

Kodumuzun ilk satırında, öğrenci notlarının bir listesini bildiririz.

Bir için oluştururuz. Öğrenci notları listesinde yinelenen > döngü. Bu for döngüsü, student_grades[g] != 0 ifadesi False olarak değerlendirilirse bir hata oluşturacak bir assert ifadesi içerir. Başka bir deyişle, öğrencinin notu 0 ise, program AssertionError döndürür.

Bir if ifadesi tanımlarız. Bu ifade, bir öğrenci testte 52 veya daha yüksek puan alırsa konsola bir mesaj yazdırır (Bu öğrenci geçti.). Bir öğrenci 52'den az puan alırsa farklı bir mesaj görüntüleriz (Bu öğrenci başarısız oldu.). Son olarak, programımız konsola Program tamamlandı yazdırır.

Gördüğünüz gibi, programımız öğrenci notlarının listesini gözden geçirmeye ve sınavı geçip geçmediklerini hesaplamaya başladı. . Ancak programımız listemizde dördüncü değere ulaştığında AssertionError ortaya çıktı. Bunun nedeni, öğrenci notumuzun 0'a eşit olmasıdır.

Notunu hesaplamadan önce her öğrencinin sayısal notunun mevcut olduğundan emin olmak istedik. Bir öğrencinin notu yoksa, sayısal notu yerine 0 kullanmalıyız.

Bu, bir öğrenciye yanlış not vermediğimizden emin olmamızı sağlar. Bunun nedeni, bu programın hala test aşamasında olmasıdır. Hâlâ programımızda değişiklikler yapıyoruz.

Bu bir son program olsaydı, onaylamaktan daha sağlam bir hata işleme yöntemi kullanmak isterdik. Ancak, hata ayıklama amacıyla, onaylama kabul edilebilir.


a>

Özel Hata Mesajı Ekleme

Şimdi diyelim ki programımıza özel bir hata mesajı eklemek istiyoruz.Kullanıcının notu 52 ise , bir hatanın ortaya çıkmasını istiyoruz. Bu hata Öğrenci notu 0 demelidir. Bu hata, programımızın hangi problemle karşılaştığını biz geliştiriciler için netleştirecektir.

"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerime uygun hayalimdeki işi buldum!"

Venus, Rockbot'ta Yazılım Mühendisi

< p>Yukarıdaki kodumuza bir hata mesajı eklemek için kullanacağımız kod:

.. . assert Student_grades[g] != 0, "Öğrenci notu 0." if Student_grades[g] >= 52: print('Bu öğrenci geçti.') else: print('Bu öğrenci başarısız.') …

Şimdi programımızı çalıştırdığımızda aşağıdaki sonucu alıyoruz:

Bu öğrenci geçti. Bu öğrenci geçti. Bu öğrenci başarısız oldu. … AssertionError: Öğrenci notu 0.

Program hala AssertionError verdi. Bu sefer ek bir hata mesajı görüntüledik. kodumuzda tanımladık.Ek mesaj, geliştiricinin programlarındaki sorunları daha iyi anlamasına yardımcı olabilir, bu da daha verimli hata ayıklama.




Sonuç

Python iddiaları, daha sürdürülebilir kod yazmanıza yardımcı olabilecek kullanışlı bir hata ayıklama aracıdır. Kodunuzdaki belirli koşulları test etmeyi kolaylaştırırlar. 

Python iddialarını dikkatli bir şekilde kullanmanızı öneririz. Kullanıcılar iddiaları devre dışı bırakabileceğinden, bunları asla veri doğrulama gibi görevleri gerçekleştirmek için kullanmamanızı öneririz. İddialara güveniyorsanız ve bunlar devre dışı bırakılırsa, programınız düzgün çalışmayabilir.

Bu kılavuz, Python assert anahtar sözcüğünün yararlılığını ve sınırlamalarını ve nasıl kullanılacağını araştırdı. Ek olarak, kullanımda olan assert anahtar kelimesine bir örnek ele aldık. Ayrıca, assert kullanarak özel hata mesajlarının nasıl tanımlanacağını da ele aldık.

Assert ifadesinin nasıl kullanılacağını bilmek, sahip olunması gereken iyi bir beceridir. Bunu öğrenmek, Python uzmanı olma yolculuğunuzda başka bir adımdır!





Python iddiası: StackOverflow Questions