Python Community
13.1K subscribers
1.24K photos
26 videos
15 files
712 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Определяем тип строки

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 при запуске приложения: python3 -O foo.py. Подробнее в документации.

#теория
Что выведет этот код?
Anonymous Quiz
29%
1
40%
3
28%
Ошибку
4%
Узнать ответ
⚡️ Учим Python с GitHub

python-guide — проект-документация по языку, от новичка до профи. Качать его не обязательно, ведь есть и веб версия.

TheAlgorithms — репозиторий с огромным количеством реализованных алгоритмов, структур данных

python-patterns — набор шаблонов проектирования, написанных на Python. Здесь нет ConcreteObserver2 и подобного, все шаблоны разобраны на реальных примерах.

#миниурок
Что выведет этот код?
Anonymous Quiz
25%
Mark
35%
Anon
7%
None
25%
Ошибку
7%
Узнать ответ
⚡️ Перечисления в Python

Это набор значений, который заменяет непонятные числа на имена. Создаются они с помощью модуля enum.

Мы можем унаследоваться от Enum для создания констант. А можем от IntEnum, тогда у констант будут свойства int.

Функция auto() автоматически подставляет следующее значение константе, а @unique проверяет, чтобы значения не повторялись. Подробнее.

#миниурок #enum
Что выведет этот код?
Anonymous Quiz
11%
2022
39%
-2022
39%
Ошибку
11%
Узнать ответ
⚡️ Тесты в документации

Такой подход интересен тем, что позволяет другому программисту понять как работает функция в определённых ситуациях, а вам — протестировать её работу.

Реализуется подобная фича с помощью встроенного модуля doctest. Он ищет текста, которые выглядят как интерактивные сеансы Python (>>>, ... и подобные символы).

Вы можете запускать тесты так же, как в примере, а можно с помощью терминала: python -m doctest -v example.py.

#миниурок #doctest
⚡️ Только ключевые и только позиционные аргументы

Позиционные аргументы
— параметры, которые передаются в определённом порядке. Ключевые аргументы — те, что получают значения через ключ, то есть key=value.

Все аргументы, которые будут до косой линии (/) будут считаться только позиционными. То есть в них нельзя будет передать значение по ключу.

Все аргументы, которые будут после звёздочки (*) будут считаться только ключевыми. Вы можете задать им значение только с помощью key=value.

Больше информации и примеров в документации.

#теория
⚡️ Геттеры и сеттеры

В ООП языка (C#, Java) распространены свойства, которые вызываются функцию для получения значения какой-либо переменной.

При получении значения вызывается функция с @property. А для установки значения используется функция с @имя_свойства.setter.

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

#теория