Python Academy
48.2K subscribers
1.16K photos
3 videos
399 links
Python Academy — один канал вместо тысячи учебников

Чат канала: @python_academy_chat

Сотрудничество: @zubar89

Канал включён в перечень РКН: https://rkn.link/TVu
加入频道
Assert

Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.

Исключения AssertionError предназначены скорее для программистов. При написании программ на этапе разработки мы должны видеть, что делаем что-то не так (к примеру, передали в функцию некорректное значение).

Не нужно, например, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try except. Если таких мест будет очень много, то это затронет и производительность программы.

#исключения #assert
​​Не используйте обработку исключений слишком часто

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

Не стоит злоупотреблять try-except конструкциями, так как в большинстве случаев можно справиться с задачей, применяя обычные условия. Используйте обработку исключений только в крайних случаях.

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

#совет #исключения
Делаем ошибки более читаемыми

В Python есть удобный модуль pretty_errors, который делает стандартный вывод исключений и их traceback более удобным для чтения и красивым в целом.

Установить его можно через пакетный менеджер pip. А для того, чтобы он заработал, достаточно импортировать его в ваш код.

Как результат, вывод ошибок в вашей программе будет выглядеть более читаемым. Более того, разные части вывода будут помечаться разным цветом вместо монотонного серого цвета.

Также модуль можно модифицировать, указав параметры в конфиге. Подробнее можете почитать в документации модуля.

#исключения #pretty_errors
👍1
Отлавливаем ошибки с помощью assert

Инструкция assert принимает логическое выражение и необязательное сообщение. Она используется для проверки типов, значений аргумента и вывода функции, а также для отладки, поскольку останавливает программу в случае ошибки.

Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но в случае с False будет сгенерировано исключение AssertionError.

Однако не нужно пытаться обработать исключение AssertionError блоком try-except. В таком случае assert теряет свой смысл.

В примере мы проверили, является ли переданный аргумент числовым типом данных. Если не является, то будет вызвано исключение и выведено указанное сообщение.

#исключения #assert
👍2
Отлавливаем баги с assert

При выполнении инструкции assert с логическим выражением, результат которого равен True, ничего не произойдет.

Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.
 
Исключения AssertionError предназначены скорее для отладки. При написании программ на этапе разработки мы можем видеть, что делаем что-то не так (например, передали в метод некорректное значение). 

Также не нужно, к примеру, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try-except.

Если в вашем коде будет очень много assert'ов, то это затронет и производительность программы.

#исключения #assert
👍1
​​Не используйте обработку исключений слишком часто

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

Не стоит злоупотреблять try-except конструкциями, так как в большинстве случаев можно справиться с задачей, применяя обычные условия. Используйте обработку исключений только в крайних случаях.

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

#совет #исключения
👍42👎82
Делаем ошибки более читаемыми

В Python есть удобный модуль pretty_errors, который делает стандартный вывод исключений и их traceback более удобным для чтения и красивым в целом.

Установить его можно через пакетный менеджер pip. А для того, чтобы он заработал, достаточно импортировать его в ваш код.

Как результат, вывод ошибок в вашей программе будет выглядеть более читаемым. Более того, разные части вывода будут помечаться разным цветом вместо монотонного серого цвета.

Также модуль можно модифицировать, указав параметры в конфиге. Подробнее можете почитать в документации модуля.

#исключения #pretty_errors
👍51🔥2
Отлавливаем ошибки с помощью assert

Инструкция assert принимает логическое выражение и необязательное сообщение. Она используется для проверки типов, значений аргумента и вывода функции, а также для отладки, поскольку останавливает программу в случае ошибки.

Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но в случае с False будет сгенерировано исключение AssertionError.

Однако не нужно пытаться обработать исключение AssertionError блоком try-except. В таком случае assert теряет свой смысл.

В примере мы проверили, является ли переданный аргумент числовым типом данных. Если не является, то будет вызвано исключение и выведено указанное сообщение.

#исключения #assert
👍252👎2🔥1
Отлавливаем баги с assert

При выполнении инструкции assert с логическим выражением, результат которого равен True, ничего не произойдет.

Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.
 
Исключения AssertionError предназначены скорее для отладки. При написании программ на этапе разработки мы можем видеть, что делаем что-то не так (например, передали в метод некорректное значение). 

Также не нужно, к примеру, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try-except.

Если в вашем коде будет очень много assert'ов, то это затронет и производительность программы.

#исключения #assert
👍12👎1
Forwarded from Python Academy
​​Не используйте обработку исключений слишком часто

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

Не стоит злоупотреблять try-except конструкциями, так как в большинстве случаев можно справиться с задачей, применяя обычные условия. Используйте обработку исключений только в крайних случаях.

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

#совет #исключения
👍131
Отлавливаем баги с assert

При выполнении инструкции assert с логическим выражением, результат которого равен True, ничего не произойдет.

Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.
 
Исключения AssertionError предназначены скорее для отладки. При написании программ на этапе разработки мы можем видеть, что делаем что-то не так (например, передали в метод некорректное значение). 

Также не нужно, к примеру, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try-except.

Если в вашем коде будет очень много assert'ов, то это затронет и производительность программы.

#исключения #assert
👍121😱1
Отлавливаем баги с assert

При выполнении инструкции assert с логическим выражением, результат которого равен True, ничего не произойдет.

Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.
 
Исключения AssertionError предназначены скорее для отладки. При написании программ на этапе разработки мы можем видеть, что делаем что-то не так (например, передали в метод некорректное значение). 

Также не нужно, к примеру, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try-except.

Если в вашем коде будет очень много assert'ов, то это затронет и производительность программы.

#исключения #assert
7👍6
Отлавливаем баги с assert

При выполнении инструкции assert с логическим выражением, результат которого равен True, ничего не произойдет.

Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.
 
Исключения AssertionError предназначены скорее для отладки. При написании программ на этапе разработки мы можем видеть, что делаем что-то не так (например, передали в метод некорректное значение). 

Также не нужно, к примеру, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try-except.

Если в вашем коде будет очень много assert'ов, то это затронет и производительность программы.

#исключения #assert
👍111🔥1
Отлавливаем ошибки с помощью assert

Инструкция assert принимает логическое выражение и необязательное сообщение. Она используется для проверки типов, значений аргумента и вывода функции, а также для отладки, поскольку останавливает программу в случае ошибки.

Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но в случае с False будет сгенерировано исключение AssertionError.

Однако не нужно пытаться обработать исключение AssertionError блоком try-except. В таком случае assert теряет свой смысл.

В примере мы проверили, является ли переданный аргумент числовым типом данных. Если не является, то будет вызвано исключение и выведено указанное сообщение.

#исключения #assert
👍10👎62
Отлавливаем баги с assert

При выполнении инструкции assert с логическим выражением, результат которого равен True, ничего не произойдет.

Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.
 
Исключения AssertionError предназначены скорее для отладки. При написании программ на этапе разработки мы можем видеть, что делаем что-то не так (например, передали в метод некорректное значение). 

Также не нужно, к примеру, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try-except.

Если в вашем коде будет очень много assert'ов, то это затронет и производительность программы.

#исключения #assert
👍7
Отлавливаем ошибки с помощью assert

Инструкция assert принимает логическое выражение и необязательное сообщение. Она используется для проверки типов, значений аргумента и вывода функции, а также для отладки, поскольку останавливает программу в случае ошибки.

Если выполнить инструкцию assert с логическим выражением, результат которого равен True, ничего не произойдет. Но в случае с False будет сгенерировано исключение AssertionError.

Однако не нужно пытаться обработать исключение AssertionError блоком try-except. В таком случае assert теряет свой смысл.

В примере мы проверили, является ли переданный аргумент числовым типом данных. Если не является, то будет вызвано исключение и выведено указанное сообщение.

#исключения #assert
👍3👎1