⚡️ IO потоки
В модуле sys есть переменные, отвечающие за ввод/вывод: stdin, stdout, stderr. Мы можем управлять ими с помощью Python.
stdin — используется для интерактивного ввода. Его использует
stdout — используется для вывода с помощью
stderr — сюда идут все ошибки при обработке программы.
Работа с потоками такая же, как и с файлами, с помощью функций
#миниурок #sys
В модуле sys есть переменные, отвечающие за ввод/вывод: stdin, stdout, stderr. Мы можем управлять ими с помощью Python.
stdin — используется для интерактивного ввода. Его использует
input()
.stdout — используется для вывода с помощью
print()
и для подсказок в input()
.stderr — сюда идут все ошибки при обработке программы.
Работа с потоками такая же, как и с файлами, с помощью функций
read()
и write(str)
.#миниурок #sys
Что выведет код выше?
Anonymous Quiz
40%
True True
46%
True False
5%
False True
3%
False False
5%
Узнать ответ
⚡️ Расширяем возможности Python
funcy — набор полезных функций для работы со списками, последовательностями, словарями и другими часто используемыми типами.
Установка:
Также есть полезные декораторы. Обработка ошибок:
#миниурок #funcy
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
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
У вас есть три стопки фишек разного цвета: белые, зелёные и чёрные. В первой — только белые, во второй — только зелёные и в третьей — только чёрные.
Каждый день вы берёте две фишки обязательно разных цветов. Вам нужно посчитать максимальное количество дней, за которые можно потратить все фишки. Количество фишек в каждой стопке идёт в виде списка из трёх целых чисел.
Пример:
solution([1, 1, 1]) -> 1 # На третий день останется только одна фишка
solution([1, 1, 2]) -> 2
solution([8, 2, 8]) -> 9
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Профилировщик Python
Pympler — инструмент разработки для мониторинга и анализа объектов в памяти у работающего приложения Python.
Установка:
• Asizeof — предоставляет информацию об одном или о нескольких объектах.
• muppy — используется для онлайн-мониторинга приложений на Python.
• classtracker — обеспечивает автономный анализ времени жизни объектов.
О всех функциях модуля можно почитать в документации.
#миниурок #pympler
Pympler — инструмент разработки для мониторинга и анализа объектов в памяти у работающего приложения Python.
Установка:
pip install Pympler
Он объединяет в себе несколько проектов:• Asizeof — предоставляет информацию об одном или о нескольких объектах.
• muppy — используется для онлайн-мониторинга приложений на Python.
• classtracker — обеспечивает автономный анализ времени жизни объектов.
О всех функциях модуля можно почитать в документации.
#миниурок #pympler
👍2
Что выведет код выше?
Anonymous Quiz
43%
6 9 4
7%
6 5 4
6%
2 9 4
14%
2 5 4
17%
Ошибку
12%
Узнать ответ
⚡️ Немного про словари
Все умеют работать со словарями, но у него есть небольшие особенности, которые могут упростить работу.
Мы можем задать значение по умолчанию для какого-то ключа с помощью
С помощью функции
Благодаря
#теория
Все умеют работать со словарями, но у него есть небольшие особенности, которые могут упростить работу.
Мы можем задать значение по умолчанию для какого-то ключа с помощью
setdefault(key, value)
. Но быстрее будет defaultdict из collections.С помощью функции
get(key, value=None)
можно получить значения ключа или, если ключ не найден, value.Благодаря
fromkeys(iter, value=None)
можно быстро создать словарь. А используя оператор |
можно объединить два словаря.#теория
⚡️ Юмор в Python
pyjokes — модуль, хранящий в себе набор шуток про Python, Чака Норриса и некоторые другие.
Установка:
Шрёдингер и веб: если я не посмотрю на сайт в Internet Explorer, то есть вероятность, что он выглядит нормально.
Я ходил по улице, где дома были пронумерованы 8к, 16к, 32к, 64к, 128к, 256к и 512к. Это было путешествие по переулку памяти.
#миниурок #pyjokes
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
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Дано два списка, вам нужно проверить, являются ли элементы внутри первого списка квадратом элементов из второго списка. Порядок в данном случае не имеет значения.
Пример:
same([2, 5, 3], [9, 4, 25]) -> True
same([1, 0, 5], [1, 2, 24]) -> False
same([], []) -> True
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Создаём интерфейс командной строки
Можно самостоятельно парсить sys.argv, но зачем усложнять программу, если существует библиотека typer.
Установка:
Библиотека автоматически генерирует usage сообщение и страницу помощи (--help). Если вам стало интересно, можете посетить документацию.
#миниурок #typer
Можно самостоятельно парсить sys.argv, но зачем усложнять программу, если существует библиотека typer.
Установка:
pip install typer
Это — простой модуль, отлично совместимый с редактором кода и довольно-таки интуитивно понятный. Он предназначен для FAST API интерфейсов командной строки.Библиотека автоматически генерирует usage сообщение и страницу помощи (--help). Если вам стало интересно, можете посетить документацию.
#миниурок #typer
Что выведет код выше?
Anonymous Quiz
15%
1,1000 2,2000
32%
1 1000 2 2000
25%
1 2 1000 2000
5%
1000 2000 1 2
9%
Ошибка
14%
Узнать ответ
⚡️ Немножко про pip
pip — пакетный менеджер, используемый для управления пакетами в Python.
#теория
pip — пакетный менеджер, используемый для управления пакетами в Python.
pip install <module_name>
— загружает проект с этого сайта. pip install -r requirements.txt
же устанавливает все зависимости из файла.pip list
выводит информацию об установленных пакетах. А pip show <module_name>
выводит информацию о проекте.pip freeze > requirements.txt
— сохраняет все установленные пакеты в requirements.txt. Именно поэтому стоит использовать virtualenv в своих проектах.#теория