Мазмұны[Жасыру][Көрсету]
Егер сіз үлкен бағдарламалармен айналысатын болсаңыз, бұл дәріс маңызды болады.
Сіз Python тіліндегі ерекшелік блоктары және түсініктемелер арқылы қателерді өңдеуді үйренесіз.
Ерекшеліктер
Біз Python бағдарламаларындағы қателерді өңдеуді үйренеміз. Терминалдан пайдаланушының жасын алу үшін шағын бағдарлама жазудан бастайық.
age = int(input('Age'))
print(age)
Оны іске қосайық.
Енді осы бағдарламаның шығу кодын қараңыз. Шығу коды 0 бағдарламасының сәтті аяқталғанын және қателер болмағанын білдіреді. Бірақ бұл бағдарламаны тағы бір рет іске қосып, сандық мәнді енгізудің орнына жолды енгізсек ше?
Біз оның «10 негізі бар int() үшін жарамсыз литерал» хабарымен мән қатесін аламыз. Негізінде бұл хабар бізге бұл «qwe» жолында бүтін санға түрлендіруге болатын жарамды үй нөмірі жоқ екенін айтады. Енді осы бағдарламаның шығу кодын қараңыз. Шығу коды 1 біздің шығу кодымыздың бұзылғанын білдіреді, сондықтан 0 әрқашан сәттілікті білдіреді және 0-ден басқа кез келген нәрсе апатты білдіреді. Бағдарламалауда біз қатенің бұл түрін ерекшелік ретінде қарастырамыз.
Жақсы питон бағдарламашысы ретінде сіз бұл жағдайды алдын ала білуіңіз керек. Пайдаланушы жарамсыз мән енгізгендіктен, бүкіл бағдарламаңыздың бұзылуына жол бергіңіз келмейді. Сондықтан бағдарламаның бұзылуына жол бермей, жағдайды реттеп, дұрыс қате туралы хабарды басып шығару керек. Міне, мен сізге осы лекцияда көрсетемін.
Python-да бізде деп аталатын құрылым бар try except
қателік жағдайлармен күресу үшін қолданылады.
try:
age = int(input('Age'))
print(age)
Бұл екі код жолы біздің бөлігіміз try:
блок. қосамыз except
одан кейін біз күткен қате түрімен блоктау.
except ValueError:
print('Invalid Value')
Ол енді мән қатесі болған жағдайда «Жарамсыз мән» жолын қайтарады.
Алдыңғы бағдарламаны өзгерту арқылы қатенің басқа түрін тексерейік.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
Енді осы бағдарламаны іске қосып, жасына «0» енгізсек, сандық мән. Демек, техникалық тұрғыдан бізде ерекше жағдайлар болмауы керек.
Оны іске қосайық.
Қара. Бағдарламамыз бұзылып, санды 0-ге бөле алмайтындықтан, «Нөлдік бөлу қатесі» жасадық. Шығу кодын тағы бір рет қараңыз. Біз бұндай қатені немесе блоктан басқа ерекше жағдайды анықтай алмадық.
Бұл қоспағанда блок тек типтік мән қатесінің ерекшеліктерін ұстайды және бізге нөлдік бөлу қатесін өңдеу үшін жаңа қоспағанда блок қажет болады. Бағдарламаны сәйкесінше өзгертейік.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
Мәселе шешілді!
- Синтаксистік қате
- Теру қатесі
- Атау қатесі
- Индекс қатесі
- Құндылық қатесі
- Нөлдік бөлу қатесі
- Атрибут қатесі
- Орындалу қатесі
- Перне қатесі
- Memoryerror
- Бекіту қатесі
- Шегініс қатесі
- Eoferror
- Қалқымалы нүкте қатесі
- Толық қате
- Логикалық қате
- Жүйелік қате
- Ескерту қатесі
- Oserror
- Қате
- Анықтамалық қате
- Unicodeerror
- Арифметикалық қате
- Unicodedecodeer
- Unicodeencodeerror
- Юникод аудармашы қатесі
- Орындалу кезіндегі қателер
Бағдарламашы ретінде сіз өзіңіздің бағдарламаңыздағы барлық ерекшеліктерді білуіңіз керек және оларды сәйкесінше өңдеуіңіз керек.
Пікірлер
Енді біз python тіліндегі түсініктемелер туралы сөйлесетін боламыз. Түсініктемелерді оқу мүмкіндігін жақсарту және кодымызды оқып жатқан біреуге жеткізу үшін бағдарламаларымызға ескертпелер немесе түсініктемелер қосу үшін пайдаланамыз.
Пікірлерді бағдарламада # белгісі арқылы жазуға болады. # таңбасынан кейін жазған барлық нәрселерді Python компиляторы елемейді және орындалмайды. Түсініктемелерді жеке жолдарға да, код жолынан кейін де қосуға болады.
Осы түсініктемелер арқылы біз кодымыз туралы бірдеңені түсіндіре аламыз, оларды түзету немесе тазалау үшін еске салғыш ретінде пайдалана аламыз немесе кодымызды оқып жатқан басқа әзірлеушілермен байланыс орнату үшін немесе осы кодты неліктен жазғанымызды түсіндіру үшін пайдалана аламыз. белгілі бір жол. Бұл түсініктемелерді пайдаланудың жақсы жағдайлары. бізде бірнеше жолдар бойынша пікірлер болуы мүмкін. Әрбір жол жаңа # белгісінен басталуы керек. Енді түсініктемелерді пайдаланудан аулақ болу керек нәрсе - кодтың не істейтінін түсіндіру.
Міне, жаман пікірдің мысалы:
Бұл жаман түсініктеме, себебі ол маған анық нәрсені айтады. Бұл маған келесі жолдың «Батыстағы күн батуын» басып шығаратынын айтып тұр. Енді бұл түсініктемедегі мәселе, егер сіз осында келіп, Батысты Шығысқа ауыстырсаңыз, егжей-тегжейлі және қайталанатындықтан басқа, бұл түсініктеме ескірген. Осылайша, кодты жаңартқан сайын біз қайтып келіп, сәйкес түсініктемені өзгертуіміз керек.
Қысқасы, ненің орнына қалай және неге деген сұрақтарға жауап беру үшін пікірлеріңізді пайдаланыңыз.
Міне, жақсы пікірдің мысалы:
Бірінші түсініктемеде мен бағдарламаны аяқтамас бұрын осы кіріс мәнін жаңарту керек екенін еске саламын, ал екінші мән менің кодты оқып жатқан басқа әзірлеушілерге бұл бағдарламада барлық қателер өңделмейтінін айтады.
Қорытындылай келе, артық пікірлерден аулақ болуыңыз керек және сіздің түсініктемелеріңіз кодыңызға біраз мән қосуы керек.
Аяқтау!
Ерекшеліктер мен түсініктемелер бағдарламалаудың екі аспектісі болып табылады, олар жиі еленбейді және олардың маңыздылығы әдетте төмен бағаланады.
Бағдарламаны бұзу, қажет жерде сіздің кодыңызға түсініктеме бермеу сияқты жаман. Келесі лекция сыныптар мен конструкторларға арналады.
пікір қалдыру