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

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

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

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

wikipedia
— удобная библиотека, которая создаёт запрос и обрабатывает ответ.

Установка: pip install wikipedia

search(req)
— выполняет поиск по википедии и возвращает список с возможными результатами.

page(req) — находит страницу по запросу req, возвращает класс WikipediaPage.

summary(req) — возвращает краткую информацию по искомому материалу.

#миниурок #wikipedia
⚡️ Задачка с собеседования | #Easy

Условие:

Вам нужно отсортировать список с оценками на основе английской системы. Всего 5 символов, в порядке убывания: A, B, C, D, F.

Примеры:

sort_grades(['A', 'B', 'C', 'C', 'F', 'A']) -> ['F', 'C', 'C', 'B', 'A', 'A']
sort_grades(['b', 'c', 'C', 'f', 'A']) -> ['F', 'C', 'C', 'B', 'A']
sort_grades([]) -> []

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

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

UUID
— стандарт, позволяющий задать уникальный номер. Например, для 10 триллионов uuid, шанс появления одинаковых значений будет 0.00000006.

Для работы с ним в python существует модуль uuid. У этого протока есть 5 версий, но мы рассмотрим только три:

uuid1() — Генерирует уникальный номер на основе MAC-адреса и времени во время создания.

uuid3(namespace, name) — Создаёт уникальное число на основе namespace (uuid) и name (string).

uuid4() — просто генерирует случайное значение.

Если вам стало интересно, то, как обычно, рекомендуем посетить документацию.

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

Условие:

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

Примеры:

to_human_dur(1) -> '1 second'
to_human_dur(62) -> '1 minute and 2 seconds'
to_human_dur(3600) -> '1 hour'
to_human_dur(3662) -> '1 hour, 1 minute and 2 seconds'

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

#Задачка_с_собеседования
⚡️ Ответ на предыдущую задачу
⚡️ Что нового в python 3.10

4 октября 2021 года вышла новая версия python, с которой мы уже поигрались и готовы рассказать о новых фичах.

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

Заметно улучшена производительность. Например, str(), bytes(), bytearray() стали приблизительно на 30% быстрее.

Улучшена работа с типами. Теперь, как видно из примера, не нужно импортировать typing, достаточно воспользоваться оператором объединения типов.

Если вам стало интересно, можете почитать эту новость.

#теория
Как освоить Python и применять его в аналитике данных

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

На открытом занятии Нетологии «Знакомство с Python для анализа данных» вы узнаете, какими преимуществами относительно других языков обладает Python в сфере аналитики, какие аналитические задачи он помогает решать, как его освоить и сколько времени это займёт.
⚡️ Три помощника при работе с циклами

Эти три встроенные функции упростят вам работу с итерируемыми объектами.

enumerate(iter, start=0) — проходится по итератору и возвращает кортеж (индекс, значение). Если задать второй параметр, то индекс сместиться на start единиц.

zip(a, b, c...) — параллельно проходит по всем объектам, возвращая по элементу с каждого.

reversed(obj) — просто переворачивает obj, иначе выдаёт ошибку.

Если вы что-то не поняли, то можете посетить документацию: enumerate, zip и reversed.

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

Условие:

В этот раз вам нужно название переменных из других стилей перевести в camel case.

Примеры:

to_camel('python_community_ru') -> 'pythonCommunityRu'
to_camel('Python-community-Ru') -> 'PythonCommunityRu'

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

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

Хеширование — превращение строки какой-то длинны в набор байтов фиксированной длины. Все хеш-функции хранятся в модуле hashlib.

Используется оно для сравнения больших файлов при загрузке, иногда для хранения паролей (чего делать не стоит) и ещё много для чего.

Первым делом нам стоит создать hash-объект. После — добавляем в него данные с помощью update(byte_data), и получаем хеш с помощью digest() или hexdigest().

Если вам стало интересно, то стоит посетить документацию.

#миниурок #ITPython
Что выведет код выше?
Anonymous Quiz
19%
3
25%
4
23%
8
23%
Ошибку
10%
Узнать ответ
⚡️ Кодировка base64

base64
— система, переводящая набор байтов в строку состоящую только из A-Z, a-z, 0-9, +, /.

Появилась она очень давно, ещё когда не решили, сколько бит должно быть в одном байте. Решение принять 8 бит за 1 байт сделало неприятно программам, которые считали байт за 6 или 7 бит.

Сообщения обрезались, поскольку последний бит не учитывался, но с этим помог справиться base64, который использовал 2^6 (64) символа.

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

Для работы с ней в python существует модуль base64 и методы b64encode(s), b64decode(s) для кодировки и расшифровывания.

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

Условие:

Вам необходимо превратить целое число в ip-адрес.

Примеры:

int_to_ip(32) -> '0.0.0.32'
int_to_ip(0) -> '
0.0.0.0'
int_to_ip(2149583361) -> '
128.32.10.1'

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

#Задачка_с_собеседования
👍1