Вы когда-нибудь замечали, что пытаетесь научиться программировать с нуля, но вместо этого часами смотрите на пустую страницу или бесконечно просматриваете свой окончательный рабочий процесс? Причина может заключаться в том, что в глубине вашего сознания возникает некоторый страх, когда вы видите большой, выделенный жирным шрифтом красный текст ошибки в нижней части экрана, который иногда кажется очень обескураживающим. Тем не менее, как человек, прошедший четыре года курсов компьютерных наук и проработавший в технологической отрасли более трех лет, я хотел, чтобы все знали, что ошибки кодирования от начала до конца этапа сборки — это нормально. Я рассмотрю несколько стратегий отладки с простыми примерами, которые, я надеюсь, помогут вам или любым новичкам, пытающимся начать кодирование.

Будьте осторожны с синтаксисом с учетом регистра в Python:

Синтаксическая ошибка берет верх над нами, особенно если вы объявляете много переменных, которые в конечном итоге можете пропустить из-за коварных опечаток. Синтаксические ошибки очень часто представляют собой опечатки, отсутствие скобок и запятых. Вы должны быть очень осторожны с этим, так как ваш код становится длиннее, и вам нужно сохранять организованную структуру. Мне нравится записывать список имен переменных в блокноте, а затем писать простой комментарий о том, что эта переменная делает в коде. Вы можете сделать это, прокомментировав код, чтобы упростить задачу следующему разработчику, который возьмет на себя код.

Пример показывает простую ошибку в Python

print "Hello World!"

Выход

line 1
    print "Hello World!"
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello World!")?

Вызов исключений Python:

Что такое исключение? Исключение — это событие, возникающее во время выполнения программы, которое мешает ходу программы. По сути, когда в начале выполнения кода возникает исключение, оно останавливает выполнение остального кода. Итак, как мы вызываем исключения в Python? В коде вы можете использовать raise Exception, используя ключевое слово raise в своем условном выражении. Когда вы "вызываете" исключение, вы можете определить жестко закодированный текст, который должен появиться, если условие не выполняется. Если вам интересно, перейдите по этой ссылке здесь, чтобы просмотреть некоторые из распространенных ошибок исключения, которые вы можете увидеть в своем коде.

В примере показан синтаксис raise для обработки ошибок.

z = "This is not an integer!"

if not type(z) is int:
  raise TypeError("Only integers are allowed")

Выход

line 4, in <module>
    raise TypeError("Only integers are allowed")
TypeError: Only integers are allowed

Перехват и обработка исключений Python:

Какая польза от обработки исключений в Python? Если исключения не обрабатываются должным образом во время выполнения кода, программа аварийно завершает работу. Обработка исключений важна, особенно если в вашей программе есть несколько функций, которые вызывают друг друга. Для перехвата исключений лучше всего использовать предложения «try и except». Предложение “try” позволяет проверить код на наличие ошибок, затем следует предложение “except”, позволяющее обработать ошибки. Это удобный способ обработки непредвиденных ошибок при запуске компилятора.

Пример показывает обработку исключений

try:
 print(x)
except:
 print(“x is not declared so an exception occurred.”)

Выход

x is not declared so an exception occurred.

Пример показывает встроенные исключения (ValueError)

while True:
    try:
        z = int(input("Please enter a number: "))
    except ValueError:
        print("That was not a valid number.  Try again!")

Выход

Please enter a number: 1
Please enter a number: 12
Please enter a number: Hello!
That was not a valid number.  Try again!
Please enter a number:

Утвердить в Python:

Оператор assert в Python проверяет, истинно ли условие. Синтаксис «assert» может принимать два параметра: условие и сообщение. Оператор используется для продолжения выполнения, если условие истинно. Но если оператор assert будет ложным, Python вызовет исключение AssertionError с указанным сообщением об ошибке.

Пример показывает, как используется утверждение для проверки истинности условия.

z = 1
assert z > 0
print('z is a positive number.')

Выход

z is a positive number.

Пример показывает, что переменная не соответствует условию, поэтому она возвращает AssertionError.

z = -1
assert z > 0
print('z is a positive number.')

Выход

line 2, in <module>
    assert z > 0
AssertionError

Вход в Python:

Ведение журнала — один из самых ценных инструментов для любого разработчика, который проходит этапы тестирования и может даже помочь вам обнаружить новые сценарии тестирования, о которых вы никогда не думали во время первоначального проектирования. К счастью, в Python есть встроенный модуль ведения журнала, который можно легко импортировать в ваш код, набрав import logging. Вот отличная ссылка на документацию о том, что вы можете делать с помощью входа в систему. к Питону. Вы можете настроить ведение журнала в соответствии со своими потребностями, используя конфигурацию "basicConfig", где вы можете выбрать имя файла, формат файла, форматирование даты и уровень серьезности (КРИТИЧЕСКИЙ, ОШИБКА, ПРЕДУПРЕЖДЕНИЕ, ИНФОРМАЦИЯ). , DEBUG и NOTSET).

Пример настройки простого логгера в Python

import logging

logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
logging.basicConfig(filename="test.log", format='%(asctime)s %(filename)s: %(message)s', datefmt='%H:%M:%S')
logger.info("testing information message1!")

Выход

Создает текстовый файл с именем test.log

Заключение:

Я надеюсь, что эта статья была полезна для людей, которые все еще плохо разбираются в программировании и пытаются понять, как лучше всего отлаживать проблемы, возникающие в их коде. Я надеюсь, что это может быть использовано в качестве вашего трамплина и станет более удобной обработкой ошибок, которые могут неожиданно возникнуть.