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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ Ответ на предыдущую задачу
⚡️ IO потоки

В модуле sys есть переменные, отвечающие за ввод/вывод: stdin, stdout, stderr. Мы можем управлять ими с помощью Python.

stdin — используется для интерактивного ввода. Его использует input().

stdout — используется для вывода с помощью print() и для подсказок в input().

stderr — сюда идут все ошибки при обработке программы.

Работа с потоками такая же, как и с файлами, с помощью функций read() и write(str).

#миниурок #sys
⚡️ Расширяем возможности Python

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

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

Там есть функции для работы с коллекциями: merge, join, merge_with, walk, select. Для работы с последовательностью: take, first, lremove.

Также есть полезные декораторы. Обработка ошибок: ignore, limit_error_rate, retry. Работа с логами: log_calls, log_errors.

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

Условие:

У вас есть три стопки фишек разного цвета: белые, зелёные и чёрные. В первой — только белые, во второй — только зелёные и в третьей — только чёрные.

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

Пример:

solution([1, 1, 1]) -> 1 # На третий день останется только одна фишка
solution([1, 1, 2]) -> 2
solution([8, 2, 8]) -> 9

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

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

Pympler
— инструмент разработки для мониторинга и анализа объектов в памяти у работающего приложения Python.

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

Он объединяет в себе несколько проектов:

Asizeof — предоставляет информацию об одном или о нескольких объектах.

muppy — используется для онлайн-мониторинга приложений на Python.

classtracker — обеспечивает автономный анализ времени жизни объектов.

О всех функциях модуля можно почитать в документации.

#миниурок #pympler
👍2
#python_quiz

Объяснение: при a | b, данные из b приоритетные, чем данные из словаря a.
⚡️ Немного про словари

Все умеют работать со словарями, но у него есть небольшие особенности, которые могут упростить работу.

Мы можем задать значение по умолчанию для какого-то ключа с помощью setdefault(key, value). Но быстрее будет defaultdict из collections.

С помощью функции get(key, value=None) можно получить значения ключа или, если ключ не найден, value.

Благодаря fromkeys(iter, value=None) можно быстро создать словарь. А используя оператор | можно объединить два словаря.

#теория
Что выведет код выше?
Anonymous Quiz
30%
True
32%
False
30%
Ошибку
8%
Узнать ответ
⚡️ Юмор в Python

pyjokes
— модуль, хранящий в себе набор шуток про Python, Чака Норриса и некоторые другие.

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

Если посадить миллион обезьян за миллион клавиатур, то одна из них напишет программу на Java. Остальные будут писать на Perl.

Шрёдингер и веб: если я не посмотрю на сайт в Internet Explorer, то есть вероятность, что он выглядит нормально.

Я ходил по улице, где дома были пронумерованы 8к, 16к, 32к, 64к, 128к, 256к и 512к. Это было путешествие по переулку памяти.

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

Условие:

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

Пример:

same([2, 5, 3], [9, 4, 25]) -> True
same([1, 0, 5], [1, 2, 24]) -> False
same([], []) -> True

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

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

Можно самостоятельно парсить sys.argv, но зачем усложнять программу, если существует библиотека typer.

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

Это — простой модуль, отлично совместимый с редактором кода и довольно-таки интуитивно понятный. Он предназначен для FAST API интерфейсов командной строки.

Библиотека автоматически генерирует usage сообщение и страницу помощи (--help). Если вам стало интересно, можете посетить документацию.

#миниурок #typer
⚡️ Немножко про pip

pip
— пакетный менеджер, используемый для управления пакетами в Python.

pip install <module_name> — загружает проект с этого сайта. pip install -r requirements.txt же устанавливает все зависимости из файла.

pip list выводит информацию об установленных пакетах. А pip show <module_name> выводит информацию о проекте.

pip freeze > requirements.txt — сохраняет все установленные пакеты в requirements.txt. Именно поэтому стоит использовать virtualenv в своих проектах.

#теория