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
Что выведет этот код?
Anonymous Quiz
16%
1 2
7%
1
30%
2
41%
Ничего
6%
Узнать ответ
⚡️ Pattern matching в Python

Нововведение в Python 3.10. Является синтаксическим сахаром для большого количества if/else.

С его помощью мы можем определять поведение объекта на основе входящих данных. И при этом писать меньше кода.

Это switch/case, только возможностей в разы больше. Они все описаны в PEP 636.

#теория
⚡️ Задачка с собеседования | #Medium

Условие:

Вам нужно проверить, является ли число простым. На вход идут числа от 2 до 10^20. Ваша задача — найти самое оптимальное решение.

Пример:

is_prime(2) ➞ True
is_prime(4) ➞ False
is_prime(1013) ➞ True

📌 Пишите ваше решение в комментариях. Решение будет через 2 часа на этом канале. 👇

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Модуль collections

Это изменённые контейнеры (dict, list, set, tuple), которые могут сильно помочь при решении задач.

Counter(iter) — подсчитывает количество повторений объекта в iter. С помощью most_common(n) можно получить n самых повторяющихся объектов.

defaultdict(default_factory) — создаёт и подставляет новый объект, созданный default_factory, если не переданного ключа не существует.

namedtuple(typename, field_names) — Создаёт тип кортежа с именованными полями.

#миниурок #collections
Что выведет этот код?
Anonymous Quiz
25%
2
35%
3
26%
Ошибку
14%
Узнать ответ
⚡️ __getattr__ и __getattribute__

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

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

#теория
Что выведет этот код?
Anonymous Quiz
6%
1
40%
2
37%
3
12%
Ошибку
5%
Узнать ответ
⚡️ Работаем с путями

Зачем изобретать велосипед с os.path, если с Python3.4 существует pathlib? Этот модуль упрощает работу с путями и добавляет новые функции.

Например, мы можем писать пути, которые будут нормально работать на Windows и Linux. Об этом рассказывается тут.

А если вам пришлось редактировать старый код с os, то это не проблема, ведь все пути это PathLike объекты.

#миниурок #pathlib
Что выведет этот код?
Anonymous Quiz
38%
1 2
9%
2 3
43%
Ошибку
11%
Узнать ответ
⚡️ Больше нет проблем

Помните, рассказывал про проблемы с вычислением float? Так вот, в Python есть решение этой проблемы и это decimal.

Этот модуль может быстро и правильно округлять арифметические операции с плавающей точкой. Теперь 0.1 + 0.2 будет именно 0.3.

И это всё тот же float. То есть вы можете складывать значения, вычитать, умножать, делить, сравнивать, и так далее.

#теория
Что выведет код выше?
Anonymous Quiz
14%
1 2
46%
3 4
7%
1 4
14%
3 2
9%
Ошибку
8%
Узнать ответ
⚡️ Асинхронное программирование

Давайте приготовим ужин. Закидываем пельмешки в кастрюлю, ждём 5 минут, а пока они готовятся, режем хлеб и делаем салатик.

В этом и суть асинхронного программирования. Пока приложение ждёт окончания какого-либо действия, оно может заниматься чем-то другим, более полезным.

Таким образом мы можем ускорить сетевое приложение (пока оно будет ждать ответа от сервера, оно может делать что-то другое), не прибегая к многопоточности.

#миниурок #async
Что выведет код выше?
Anonymous Quiz
48%
True
14%
NaN
33%
Ошибку
6%
Узнать ответ