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
⚡️ Пишем эмодзи

Эмодзи, в умеренных количествах, могут улучшить текст, но вот их использование в коде несколько затрудняется, поэтому придумали модуль emoji.

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

emoji.emojize(text) — заменяет все особые символы в text на эмодзи.

emoji.demojize(text) — делает наоборот, переводит эмодзи в текст.

emoji.is_emoji(char) — проверяет, является ли char частью набора эмодзи.

Подробнее о модуле вы, как обычно, можете почитать тут.

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

Условие:

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

Примеры:

get_ext('file') -> ''
get_ext('.not_ext.') -> ''
get_ext('.not_ext') -> ''
get_ext('file.py.exe') -> 'exe'
get_ext('
script.py') -> 'py'

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

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

Думаю, работая программистом, гуглить вы уже научились. Теперь, надо бы обучить этому программу: для этого воспользуемся модулем google.

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

googlesearch.search(query)
— Отправляет запрос query и возвращает num ссылок в течении num * pause секунд.

googlesearch.get_page(url) — возвращает страницу в необработанном формате в виде набора байтов.

Модуль, к слову, довольно хорошо настраивается. Вы можете передать в параметры функции user agent, язык, страну и тому подобное.

#миниурок #google
👍1
Что выведет код выше?
Anonymous Quiz
4%
[10]
19%
[14]
18%
[10 10]
44%
[6 4 4]
15%
Узнать ответ
⚡️ Асинхронное программирование

Если вы каким-либо образом взаимодействуете с интернетом, то вы, наверняка, слышали про это.

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

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

А что не так с потоками? При работе с потоками код становится тяжёлым и непонятным, чего мы не любим.

Если вам стало интересно, советуем начать с модуля asyncio.

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

Условие:

Напишите функцию, которая принимает список из целых чисел и возвращает то, что повторяется нечётное кол-во раз.

Во всех входных данных всегда будет только одно такое число.

Примеры:

solution([7]) -> 7
solution([0, 1, 0]) -> 1
solution([0, 1, 0, 1, 0]) -> 0

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

#Задачка_с_собеседования
🖥 Давно хотели приобщить своих младших товарищей к миру IT, но не знали с чего начать?

Онлайн-школа Фоксфорд - идеальное решение. Вот лишь несколько из широкого перечня их курсов для детей:

🔹 Программирование на Python
🔹 Администрирование сервера в Minecraft
🔹 Data Science (Машинное обучение на Python)

И еще одна хорошая новость: у меня есть промокод со скидкой 18 % на их курсы - foxfordskidka

Познакомьте ребенка с профессией его мечты 💫
⚡️ Ответ на предыдущую задачу
⚡️ Передаём пароль программе

Я думаю, многие согласятся, что считывать пароль, используя input — неправильно, поскольку любой, кто заглянет в монитор увидит его.

Что же делать? Воспользуйтесь getpass — предустановленный модуль для решения этой задачи.

getpass.getpass(prompt, stream=None) — ожидает ввода пароля от пользователя, не выводя символы на экран.

getpass.getuser() — возвращает имя пользователя.

Подробнее о модуле можете почитать в документации.

#миниурок #getpass
Что выведет код выше?
Anonymous Quiz
30%
True
43%
False
14%
Ошибку
13%
Узнать ответ
Выбираете IT-профессию? Присоединяйтесь к бесплатному онлайн-интенсиву по программированию! Узнайте, какая специальность подходит вам больше всего. А мы поможем определиться с выбором.

Переходите по ссылке и регистрируйтесь: ⚡️ https://clc.to/TiccvA.

Начните карьерный путь на бесплатном интенсиве, который пройдёт 16–18 декабря в 18:00 по московскому времени.

● Познакомитесь на практике с языками программирования Java, Python, 1C и узнаете, как работает программный код.

● Изучите смежные специальности: Data Science, тестирование, frontend-разработку, разработку Android- и iOS-приложений.

● Узнаете, сколько зарабатывают программисты. Научитесь составлять отличное резюме и поймёте, как устроиться в крутую компанию.

💡 Спикер интенсива — разработчик с опытом более 17 лет, директор центра SymbioWay Даниил Пилипенко. Он находит IT-специалистов для крупнейших компаний России.

🎁 Сдайте практическую работу и получите подарок от образовательной платформы Skillbox и издательства МИФ.
⚡️ Тестируем код с помощью Hypothesis

Hypothesis
— отличный фреймворк для неопределённого тестирования. Недавно, кстати, на Python Language Summit 2021, разработчики с его помощью смогли найти ошибки в PEG парсере Python.

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

Неопределённым его называют, поскольку в отличие от обычных тестов, у нас нет заранее заготовленного набора входных данных и результата работы.

На примере выше у нас есть некий алгоритм для шифрования и декодирования текста в файле rle. После проверки мы видим, что код не справляется с пустой строкой.

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

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

Условие:

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

Примеры:

count([5, 4, 1, 2, -1, -2]) -> (4, 2)
count([1, 0, -1]) -> (1, 1)
count([0, 0, 0, 0]) -> (0, 0)

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

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

simpleaudio
— удобный кроссплатформенный модуль для работы с звуками.

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

Первым делом нужно определится, как вы будете воспроизводить аудио:

• Если вам достаточно проиграть файл, то воспользуйтесь WaveObject.from_wave_file(file_with_wav).

• Если вы ходите воспроизводить звуки напрямую, то воспользуйтесь play_buffer(data, num_channels=2, bytes_per_sample=2, sample_rate=44100).

Подробнее, как обычно, можете почитать в документации.

#миниурок #simpleaudio
Что выведет код выше?
Anonymous Quiz
27%
0.3
26%
0.30000000000000004
40%
Ошибку
7%
Узнать ответ