Отлавливаем ошибки с помощью assert
Инструкция
Если выполнить инструкцию
Однако не нужно пытаться обработать исключение
В примере мы проверили, является ли переданный аргумент числовым типом данных. Если не является, то будет вызвано исключение и выведено указанное сообщение.
#исключения #assert
Инструкция
assert
принимает логическое выражение и необязательное сообщение. Она используется для проверки типов, значений аргумента и вывода функции, а также для отладки, поскольку останавливает программу в случае ошибки.Если выполнить инструкцию
assert
с логическим выражением, результат которого равен True
, ничего не произойдет. Но в случае с False
будет сгенерировано исключение AssertionError
.Однако не нужно пытаться обработать исключение
AssertionError
блоком try-except
. В таком случае assert
теряет свой смысл.В примере мы проверили, является ли переданный аргумент числовым типом данных. Если не является, то будет вызвано исключение и выведено указанное сообщение.
#исключения #assert
Что выведет данный код?
Anonymous Poll
0%
False True False
13%
True False True
50%
True True True
21%
False False False
17%
Узнать ответ
Каким будет результат выполнения кода?
Anonymous Poll
18%
False
6%
None
35%
True
24%
Error
18%
Узнать ответ
Каким будет результат выполнения кода?
Anonymous Poll
11%
False, False
5%
True, True
5%
False, True
5%
True, False
58%
Error
16%
Узнать ответ
Библиотека Numpy
Сегодня коснемся важной темы -- срезов. Эта штука просто необходимый инструмент для обработки данных.
Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!
Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.
#numpy
Сегодня коснемся важной темы -- срезов. Эта штука просто необходимый инструмент для обработки данных.
Способ очень похож на работу со списками. array[a:b], срезать с элемента a по элемент b. Вот только можно сразу использовать элементы, к примеру простейшие операции. Нельзя только удалять!
Срезы позволяют элегантно получать нужный столбец array[:, a], где a index нужного столбца.
#numpy
Атрибуты функций
Сейчас будет шок для новичков, но функции — это обычные объекты, у которых просто реализован метод
И соотвественно у функций, как и у любых других объектов, можно устанавливать атрибуты и даже другие методы. Но сейчас затронем только атрибуты.
Как вариант, в примере я реализовал счетчик вызова функции, но без использования глобальных переменных — всё с помощью атрибута в объекте функции.
Вообще практического применения в продакшне я не припомню, но сам этот факт знать полезно для общего понимания структуры языка и устройства объектов.
#функции #объекты
Сейчас будет шок для новичков, но функции — это обычные объекты, у которых просто реализован метод
__call__
. Именно он и позволяет выполнять синтаксис с вызовом через круглые скобки.И соотвественно у функций, как и у любых других объектов, можно устанавливать атрибуты и даже другие методы. Но сейчас затронем только атрибуты.
Как вариант, в примере я реализовал счетчик вызова функции, но без использования глобальных переменных — всё с помощью атрибута в объекте функции.
Вообще практического применения в продакшне я не припомню, но сам этот факт знать полезно для общего понимания структуры языка и устройства объектов.
#функции #объекты
Разделители для целых чисел
Трудно визуально различить целые числа подобные
Но Python позволяет использовать нижнее подчеркивание как разделитель для улучшения читабельности.
Например,
#числа
Трудно визуально различить целые числа подобные
10000000
и 100000000
. Использовать запятые, как в английском языке, не получится.Но Python позволяет использовать нижнее подчеркивание как разделитель для улучшения читабельности.
Например,
1_000_000
будет интерпретироваться как целое число 1000000
.#числа