Mündəricat[Gizlət][Göstər]
Əgər siz böyük proqramlarla məşğul olursunuzsa, bu mühazirə vacib olacaq.
Siz istisna blokları və Python-da şərhlərdən istifadə etməklə səhvləri idarə etməyi öyrənəcəksiniz.
İstisnalar
Python proqramlarında səhvləri necə idarə edəcəyimizi öyrənəcəyik. Terminaldan istifadəçinin yaşını almaq üçün kiçik proqram yazmaqla başlayaq.
age = int(input('Age'))
print(age)
Gəlin onu idarə edək.
İndi bu proqramın çıxış koduna baxın. Çıxış kodu 0 o deməkdir ki, proqramımız uğurla dayandırılıb və heç bir səhv yoxdur. Bəs biz bu proqramı bir dəfə daha işə salsaq və ədədi dəyər daxil etmək əvəzinə, sətir daxil etsək necə olar?
Onun “10 baza ilə int() üçün invalid literal” mesajı ilə dəyər xətası alırıq. Əsasən bu mesaj bizə deyir ki, bu “qwe” sətirində tam ədədə çevrilə bilən etibarlı ev nömrəsi yoxdur. İndi bu proqramın çıxış koduna baxın. Çıxış kodu 1 çıxış kodumuzun qəzaya uğraması deməkdir, buna görə də 0 həmişə uğur deməkdir və 0-dan başqa hər şey qəza deməkdir. Proqramlaşdırmada biz bu növ xətanı istisna kimi qəbul edirik.
Yaxşı bir python proqramçısı olaraq, bu vəziyyəti əvvəlcədən bilməlisiniz. İstifadəçi yanlış dəyər daxil etdiyi üçün bütün proqramınızın qəzaya uğramasına icazə vermək istəmirsiniz. Beləliklə, proqramın qəzaya uğramasına icazə vermək əvəzinə, vəziyyəti idarə etməli və düzgün bir səhv mesajı çap etməlisiniz. Bu mühazirədə sizə göstərəcəyim budur.
Python-da adlanan bir konstruksiyamız var try except
səhv vəziyyətləri ilə məşğul olmaq üçün istifadə olunur.
try:
age = int(input('Age'))
print(age)
Bu iki sətir kodun bir hissəsidir try:
blok. əlavə edəcəyik except
ondan sonra gözlədiyimiz səhv növü ilə bloklayın.
except ValueError:
print('Invalid Value')
İndi dəyər xətası halında "Yanlış Dəyər" sətirini qaytaracaq.
Əvvəlki proqramı dəyişdirərək başqa bir səhv növünü yoxlayaq.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
İndi bu proqramı işə salsaq və yaşda '0' daxil etsək, ədədi bir dəyər. Beləliklə, texniki cəhətdən heç bir istisna almamalıyıq.
Gəlin onu idarə edək.
Bax. Proqramımız qəzaya uğradı və biz ədədi 0-a bölə bilmədiyimiz üçün “Sıfır Bölmə Xətası” etdik. Bir daha çıxış koduna baxın. Blok istisna olmaqla, bu cür xətanı və ya bu cür istisnanı tuta bilmədik.
Bu blok istisna olmaqla, yalnız növ dəyər xətası istisnalarını tutur və Sıfır Bölmə Xətası ilə işləmək üçün yeni istisna blokuna ehtiyacımız olacaq. Proqrama uyğun olaraq dəyişiklik edək.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
Problem həll olundu!
- Söz düzümü səhvi
- Yazı xətası
- Ad xətası
- İndeks xətası
- Dəyər xətası
- Sıfır bölgü xətası
- Atribut xətası
- İcra zamanı xətası
- Klaviatura xətası
- Yaddaş xətası
- Təsdiq xətası
- Giriş xətası
- Eoferror
- Üzən nöqtə xətası
- Daşqın xətası
- Məntiq xətası
- Sistem səhvi
- Bildiriş xətası
- Səhv
- Xəta
- İstinad xətası
- Unicodeerror
- Arifmetik xəta
- Unicodedecodeer xətası
- Unicodeencodeerror
- Unicode tərcümə xətası
- İş vaxtı səhvləri
Bir proqramçı olaraq, proqramınızdakı bütün istisnalardan xəbərdar olmalı və onlara uyğun davranmalısınız.
Şərhlər
İndi python-da şərhlər haqqında danışacağıq. Oxunma qabiliyyətini yaxşılaşdırmaq və kodumuzu oxuyan kiməsə bəzi mesajları çatdırmaq üçün proqramlarımıza qeydlər və ya şərhlər əlavə etmək üçün şərhlərdən istifadə edirik.
Proqramda şərhlər # işarəsi ilə yazıla bilər. #-dan sonra yazdığınız hər şey Python kompilyatoru tərəfindən nəzərə alınmayacaq və icra olunmayacaq. Siz ayrı-ayrı sətirlərə, eləcə də kod sətirindən sonra şərhlər əlavə edə bilərsiniz.
Bu şərhlərlə kodumuz haqqında nəyisə izah edə bilərik, onları düzəltmək və ya hər şeyi təmizləmək üçün xatırlatmalar kimi istifadə edə bilərik və ya kodumuzu oxuyan digər tərtibatçılarla əlaqə saxlamaq və ya bu kodu niyə yazdığımızı izah etmək üçün istifadə edə bilərik. müəyyən bir şəkildə. Bunlar şərhlərdən istifadə üçün yaxşı istifadə hallarıdır. bir neçə sətir üzərində şərhlərimiz də ola bilər. Hər sətir yeni # işarəsi ilə başlamalıdır. İndi şərhlərdən istifadə edərkən qarşısını almalı olduğunuz bir şey kodun nə etdiyini izah etməkdir.
Budur pis şərhə bir nümunə:
Bu pis şərhdir, çünki mənə açıq olanı deyir. Bu, mənə deyir ki, növbəti sətirdə “Qərbdə günəş batır” yazısı çap olunacaq. İndi bu şərhlə bağlı problem ondadır ki, bura gəlib Qərbi Şərqə dəyişsəniz, təfərrüatlı və təkrarlı olmaqdan başqa, bu şərh köhnəlmiş olur. Beləliklə, kodumuzu hər dəfə yeniləyəndə geri qayıtmalı və müvafiq şərhi dəyişdirməli olacağıq.
Qısacası, nəyin əvəzinə necə və niyə cavab vermək üçün şərhlərinizi istifadə edin.
Yaxşı bir şərhə bir nümunə:
Birinci şərhdə, proqramı tamamlamadan əvvəl bu gəlir dəyərini yeniləməli olduğumu xatırladıram və ikinci dəyər kodumu oxuyan digər tərtibatçılara bu proqramda bütün səhvlərin idarə olunmadığını söyləyir.
Nəticə olaraq, lazımsız şərhlərdən qaçınmalısınız və şərhləriniz kodunuza müəyyən dəyər qatmalıdır.
Tamamlayın!
İstisnalar və şərhlər proqramlaşdırmanın tez-tez nəzərdən qaçırılan iki aspektidir və onların əhəmiyyəti adətən lazımi səviyyədə qiymətləndirilmir.
Proqramınızın çökməsi demək olar ki, lazım olduqda kodunuza şərh verməmək qədər pisdir. Növbəti mühazirə Siniflər və Konstruktorlar haqqında olacaq.
Cavab yaz