Что выведет код выше?
Anonymous Quiz
9%
2
9%
4
7%
(1, 2)
30%
(1, 2, 1, 2)
40%
Ошибку
6%
Узнать ответ
⚡️ Определяем тип строки
·
·
#миниурок #str
str.isalpha()
возвращает True, если все символы являются частью алфавита (a-z). str.isdecimal()
— проверяет, является ли строка только набором цифр (1-9). В то время как:·
str.isdigit()
вернёт True, даже если строка будет содержать странные цифры (² или \u00B2). ·
str.isnumeric()
вернёт True, даже если это дробь (½ или \u00BD).str.isalnum()
— проверяет, является ли строка набором символов или цифр.#миниурок #str
⚡️ Упрощаем поиск багов
Функция поиска площади квадрата со стороной 5 должна возвращать 25. А если не вернёт? Самый быстрый способ это проверять — использовать assert.
Если оператор получает на первый аргумент False, то выводит AssertionError с текстом из второго аргумента (если таков имеется).
Чтобы убрать проверку, добавьте флаг -O при запуске приложения:
#теория
Функция поиска площади квадрата со стороной 5 должна возвращать 25. А если не вернёт? Самый быстрый способ это проверять — использовать assert.
Если оператор получает на первый аргумент False, то выводит AssertionError с текстом из второго аргумента (если таков имеется).
Чтобы убрать проверку, добавьте флаг -O при запуске приложения:
python3 -O foo.py
. Подробнее в документации.#теория
⚡️ Учим Python с GitHub
python-guide — проект-документация по языку, от новичка до профи. Качать его не обязательно, ведь есть и веб версия.
TheAlgorithms — репозиторий с огромным количеством реализованных алгоритмов, структур данных
python-patterns — набор шаблонов проектирования, написанных на Python. Здесь нет ConcreteObserver2 и подобного, все шаблоны разобраны на реальных примерах.
#миниурок
python-guide — проект-документация по языку, от новичка до профи. Качать его не обязательно, ведь есть и веб версия.
TheAlgorithms — репозиторий с огромным количеством реализованных алгоритмов, структур данных
python-patterns — набор шаблонов проектирования, написанных на Python. Здесь нет ConcreteObserver2 и подобного, все шаблоны разобраны на реальных примерах.
#миниурок
⚡️ Перечисления в Python
Это набор значений, который заменяет непонятные числа на имена. Создаются они с помощью модуля enum.
Мы можем унаследоваться от Enum для создания констант. А можем от IntEnum, тогда у констант будут свойства int.
Функция
#миниурок #enum
Это набор значений, который заменяет непонятные числа на имена. Создаются они с помощью модуля enum.
Мы можем унаследоваться от Enum для создания констант. А можем от IntEnum, тогда у констант будут свойства int.
Функция
auto()
автоматически подставляет следующее значение константе, а @unique
проверяет, чтобы значения не повторялись. Подробнее.#миниурок #enum
⚡️ Тесты в документации
Такой подход интересен тем, что позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её работу.
Реализуется подобная фича с помощью встроенного модуля doctest. Он ищет текста, которые выглядят как интерактивные сеансы Python (>>>, ... и подобные символы).
Вы можете запускать тесты так же, как в примере, а можно с помощью терминала:
#миниурок #doctest
Такой подход интересен тем, что позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её работу.
Реализуется подобная фича с помощью встроенного модуля doctest. Он ищет текста, которые выглядят как интерактивные сеансы Python (>>>, ... и подобные символы).
Вы можете запускать тесты так же, как в примере, а можно с помощью терминала:
python -m doctest -v example.py
.#миниурок #doctest
Что выведет этот код?
Anonymous Quiz
14%
True
8%
False
26%
[1, 2, 3]
17%
[2, 3]
22%
Ошибку
13%
Узнать ответ
⚡️ Только ключевые и только позиционные аргументы
Позиционные аргументы — параметры, которые передаются в определённом порядке. Ключевые аргументы — те, что получают значения через ключ, то есть
Все аргументы, которые будут до косой линии (/) будут считаться только позиционными. То есть в них нельзя будет передать значение по ключу.
Все аргументы, которые будут после звёздочки (*) будут считаться только ключевыми. Вы можете задать им значение только с помощью
Больше информации и примеров в документации.
#теория
Позиционные аргументы — параметры, которые передаются в определённом порядке. Ключевые аргументы — те, что получают значения через ключ, то есть
key=value
.Все аргументы, которые будут до косой линии (/) будут считаться только позиционными. То есть в них нельзя будет передать значение по ключу.
Все аргументы, которые будут после звёздочки (*) будут считаться только ключевыми. Вы можете задать им значение только с помощью
key=value
.Больше информации и примеров в документации.
#теория
⚡️ Геттеры и сеттеры
В ООП языка (C#, Java) распространены свойства, которые вызываются функцию для получения значения какой-либо переменной.
При получении значения вызывается функция с
Также очень важно, чтобы методы и свойства имели одно и то же имя. Подробнее в документации.
#теория
В ООП языка (C#, Java) распространены свойства, которые вызываются функцию для получения значения какой-либо переменной.
При получении значения вызывается функция с
@property
. А для установки значения используется функция с @имя_свойства.setter
.Также очень важно, чтобы методы и свойства имели одно и то же имя. Подробнее в документации.
#теория