⚡️ Оператор Yield
Этот оператор при каждом своём вызове возвращает объект. Он ведёт себя также, как и итератор.
yield — ключевое слово, которое не уничтожает локальные переменны и позволяет вернуть несколько значений.
yield from — инструкция, которая позволяет вкладывать один итератор/генератор в другой. Он позволяет легко заменить for внутри.
next() — функция, позволяющая извлекать следующий объект из итератора. Цикл for работает на этой функции и вызывает её, пока не получит исключение StopItered.
Этот оператор при каждом своём вызове возвращает объект. Он ведёт себя также, как и итератор.
yield — ключевое слово, которое не уничтожает локальные переменны и позволяет вернуть несколько значений.
yield from — инструкция, которая позволяет вкладывать один итератор/генератор в другой. Он позволяет легко заменить for внутри.
next() — функция, позволяющая извлекать следующий объект из итератора. Цикл for работает на этой функции и вызывает её, пока не получит исключение StopItered.
⚡️ Библиотека Rich
Это — библиотека, позволяющая приукрасить вывод в консоле. Она имеет намного больше функционала, чем ранее упомянутая Colorama.
Установить модуль можно с помощью команды:
Пример со всеми возможностями модуля можно посмотреть с помощью команды:
Это — библиотека, позволяющая приукрасить вывод в консоле. Она имеет намного больше функционала, чем ранее упомянутая Colorama.
Установить модуль можно с помощью команды:
pip install rich
Библиотека помогает работать с цветами, стилями и даже позиционированием текста. Она поддерживает множество языков, Markup и Emoji. Также в ней есть таблицы, синтаксическая подсветка и красивый вывод.Пример со всеми возможностями модуля можно посмотреть с помощью команды:
python3 -m rich
⚡️ Модуль Faker
faker — это модуль для создания фейковых данных (имя, адрес или любой другой текст). Он отлично подойдёт для тестирования вашей программы.
Скачать его можно с помощью:
Faker() — основной класс. Он принимает необязательный аргумент — строку локализации или их список.
Faker . name() — (без точек) фальшивое имя. Создаётся на основе переданной локализации.
Faker.address() — Фальшивый адрес. Формат также задаётся локализацией.
Также, можно создать фальшивый ip-адрес, место работы и подобные данные, используя Providers
faker — это модуль для создания фейковых данных (имя, адрес или любой другой текст). Он отлично подойдёт для тестирования вашей программы.
Скачать его можно с помощью:
pip install FakerТеперь пройдёмся по его командам:
Faker() — основной класс. Он принимает необязательный аргумент — строку локализации или их список.
Faker . name() — (без точек) фальшивое имя. Создаётся на основе переданной локализации.
Faker.address() — Фальшивый адрес. Формат также задаётся локализацией.
Также, можно создать фальшивый ip-адрес, место работы и подобные данные, используя Providers
⚡ Итераторы — это что?
Итератор — это объект, который помогает обходить ту или иную последовательность.
Знаю, ничего не понятно. Приведу пример:
У вас есть тележка с камнями, а вам необходимо перенести их в другую тележку.
Вы можете просто взять эти несколько камней в руки и перенести их. Это и быстрее, и эффективнее, но что делать, если камней больше? 5, 20, 50?
Очевидно, что тогда легче будет таскать их по одному.
В таком случае, вы выступаете итератором, перетаскивая камни, которые необходимы только в данный момент.
Камни — это некий набор чисел, руки — оперативная память, а вы — посредник (итератор).
Итератор — это объект, который помогает обходить ту или иную последовательность.
Знаю, ничего не понятно. Приведу пример:
У вас есть тележка с камнями, а вам необходимо перенести их в другую тележку.
Вы можете просто взять эти несколько камней в руки и перенести их. Это и быстрее, и эффективнее, но что делать, если камней больше? 5, 20, 50?
Очевидно, что тогда легче будет таскать их по одному.
В таком случае, вы выступаете итератором, перетаскивая камни, которые необходимы только в данный момент.
Камни — это некий набор чисел, руки — оперативная память, а вы — посредник (итератор).
⚡ Библиотека dash
Dash — это веб-фреймворк для работы с дашбордами и графиками. Он представляет из себя связку react.js, CSS, HTML и даже Flask.
Для установки введите все эти команды поочерёдно:
Из dash_core_components можно импортировать различные динамические формы, например, выпадающие списки.
А из dash_html_components берутся разные элементы html, такие как div, h1 и т.д.
Также dash содержит фичу, именуемую «hot-reloading». То есть, вам не придётся перезапускать сервер при каждом изменении.
Dash — это веб-фреймворк для работы с дашбордами и графиками. Он представляет из себя связку react.js, CSS, HTML и даже Flask.
Для установки введите все эти команды поочерёдно:
pip install dash
pip install dash-html-components
pip install dash-core-components
pip install dash-table
Из dash_core_components можно импортировать различные динамические формы, например, выпадающие списки.
А из dash_html_components берутся разные элементы html, такие как div, h1 и т.д.
Также dash содержит фичу, именуемую «hot-reloading». То есть, вам не придётся перезапускать сервер при каждом изменении.
⚡️ Модуль funcy
funcy — это набор полезных функций, помогающие с работой в python. Скачать его можно по команде:
merge(*args) — Соединяет все аргументы в один элемент. Работает со списками, словарями, кортежами, множествами и даже строками.
walk (func, obj) — Проходит по всем элементам внутри obj и выполняет func с элементом. Очень похоже на map, но сохраняет возвращаемый тип.
select (func/re, obj) — Проходит по всем элементам и вызывает func, использующийся для сортировки. Также принимает регулярные выражения на месте re.
funcy — это набор полезных функций, помогающие с работой в python. Скачать его можно по команде:
pip install funcy
Вот несколько полезных функций из этого набора:merge(*args) — Соединяет все аргументы в один элемент. Работает со списками, словарями, кортежами, множествами и даже строками.
walk (func, obj) — Проходит по всем элементам внутри obj и выполняет func с элементом. Очень похоже на map, но сохраняет возвращаемый тип.
select (func/re, obj) — Проходит по всем элементам и вызывает func, использующийся для сортировки. Также принимает регулярные выражения на месте re.
⚡️ Модуль pympler
Наверное, много кому было интересно, насколько его приложение оптимизированное и что ещё можно улучшить.
В этом поможет библиотека под названием pympler: она может и отслеживать, и анализировать использование памяти разными объектами.
Скачивается она с помощью этой команды:
Кроме того, с его помощью можно анализировать использование памяти в django, что может быть полезно при подборе сервера для сайта.
Наверное, много кому было интересно, насколько его приложение оптимизированное и что ещё можно улучшить.
В этом поможет библиотека под названием pympler: она может и отслеживать, и анализировать использование памяти разными объектами.
Скачивается она с помощью этой команды:
pip install pymplerВ этот модуль заложен довольно большой функционал. Он позволяет, помимо обычного просмотра размера объектов, отслеживать утечки памяти, а также следить за использованием классов.
Кроме того, с его помощью можно анализировать использование памяти в django, что может быть полезно при подборе сервера для сайта.
⚡️ Тестирование и модуль pytest
Автоматическое тестирование — это проверка приложения на все возможные баги не человеком, а заранее написанным для этого кодом.
Оно позволяет при изменении какой-либо части кода проверить, не появились ли ошибки в остальных.
В этом нам поможет pytest. Скачать этот модуль можно с помощью команды:
Автоматическое тестирование — это проверка приложения на все возможные баги не человеком, а заранее написанным для этого кодом.
Оно позволяет при изменении какой-либо части кода проверить, не появились ли ошибки в остальных.
В этом нам поможет pytest. Скачать этот модуль можно с помощью команды:
pip install pytest
Более подробную документацию понятным (английским) языком о модуле можно найти на этом сайте.stribny.name
Testing Python Applications with Pytest
A complete guide to testing Python applications with Pytest, pytest plugins and other test libraries.
⚡️ Модуль Matplotlib
Matplotlib — это модуль для визуализации данных. Он имеет довольно большой функционал, различные способы вывода и даже графики.
Скачать его можно с помощью:
От одного просто графика до нескольких с разными градиентами, круговыми диаграммами, 3D-визуализацией и т.д. Более подробно расписано на официальном сайте.
Также он поддерживает несколько способов отображения данных, но вам потребуется скачать дополнительные библиотеки.
Кроме того, им поддерживается вывод в svg файл, в веб браузер, GTK3 и в приложение. Более подробно можно просмотреть введя команду matplotlib.use('?').
Matplotlib — это модуль для визуализации данных. Он имеет довольно большой функционал, различные способы вывода и даже графики.
Скачать его можно с помощью:
pip install -U matplotlibЭтот модуль очень легко конфигурируется, что позволяет ему отображать данные самыми разными способами.
От одного просто графика до нескольких с разными градиентами, круговыми диаграммами, 3D-визуализацией и т.д. Более подробно расписано на официальном сайте.
Также он поддерживает несколько способов отображения данных, но вам потребуется скачать дополнительные библиотеки.
Кроме того, им поддерживается вывод в svg файл, в веб браузер, GTK3 и в приложение. Более подробно можно просмотреть введя команду matplotlib.use('?').
⚡️ Модуль TensorFlow
TensorFlow — это библиотека, разработанная Google для глубокого обучения нейронных сетей. Она с открытым исходным кодом, и если вы научитесь его разбирать, вы значительно улучшите свои навыки.
Изначально все вычисления представлены в виде графов, однако расчёт выполняется по запросу, что позволяет повысить производительность при высокой нагрузке.
Также библиотека может распределять вычисления между центральным и графическим процессором и несколькими системами одновременно, что также очень хорошо для скорости обучения.
Помимо всего этого, TensorFlow довольно популярный, что позволяет легко его изучить с помощью других материалов.
TensorFlow — это библиотека, разработанная Google для глубокого обучения нейронных сетей. Она с открытым исходным кодом, и если вы научитесь его разбирать, вы значительно улучшите свои навыки.
Изначально все вычисления представлены в виде графов, однако расчёт выполняется по запросу, что позволяет повысить производительность при высокой нагрузке.
Также библиотека может распределять вычисления между центральным и графическим процессором и несколькими системами одновременно, что также очень хорошо для скорости обучения.
Помимо всего этого, TensorFlow довольно популярный, что позволяет легко его изучить с помощью других материалов.
Какого контента не хватает каналу?
Anonymous Poll
60%
Интересные уроки / кейсы
28%
Подборки видео на заданную тему
37%
Тесты / задачи
15%
Юмор / мемчики
23%
Книги
#gtts #мини_урок
Преобразовываем текст в речь
Есть разные интерфейсы API для преобразования текста в речь. Воспользуемся одним из самых популярных - Google Text to Speech, широко известный как gTTS API.
Библиотека поддерживает различные языки (русского к сожалению нет). С gTTS можно работать в консоли с помощью gtts-cli. Команда считывает текст, делает нужный запрос и записывает результат в файл.
Устанавливаем:
Настраиваем: документация
Кому мало gTTS, потестируйте модуль google-cloud-texttospeech. Он имеет гораздо больший функционал, например он может сделать паузу в нужном вам месте.
Кто ещё какими Text to Speech модулями пользуется? Пишите в комментариях. Да, да, да у нас появились комментарии 👇👇👇
Преобразовываем текст в речь
Есть разные интерфейсы API для преобразования текста в речь. Воспользуемся одним из самых популярных - Google Text to Speech, широко известный как gTTS API.
Библиотека поддерживает различные языки (русского к сожалению нет). С gTTS можно работать в консоли с помощью gtts-cli. Команда считывает текст, делает нужный запрос и записывает результат в файл.
Устанавливаем:
pip install gTTS
Настраиваем: документация
Кому мало gTTS, потестируйте модуль google-cloud-texttospeech. Он имеет гораздо больший функционал, например он может сделать паузу в нужном вам месте.
Кто ещё какими Text to Speech модулями пользуется? Пишите в комментариях. Да, да, да у нас появились комментарии 👇👇👇
⚡️ Редактируем видео с помощью Python
#миниурок #moviepy
В этом нам поможет библиотека moviepy — она позволяет склеивать, обрезать и даже накладывать эффекты на видео.
Код у библиотеки довольно простой. На примере выше мы обрезаем клип, потом склеиваем с другим видео, после изменяем размер.
Далее — записываем всю нашу работу в файл, используя несколько потоков.
Стоит обратить внимание, что модуль обрабатывает всё на CPU и, если ваших ресурсов не хватает, стоит воспользоваться выделенными серверами (к примеру, amazon или google) с большей производительностью.
Также, эта библиотека отлично подойдёт для выполнения простых, но повторяющихся операций.
#миниурок #moviepy
В этом нам поможет библиотека moviepy — она позволяет склеивать, обрезать и даже накладывать эффекты на видео.
Код у библиотеки довольно простой. На примере выше мы обрезаем клип, потом склеиваем с другим видео, после изменяем размер.
Далее — записываем всю нашу работу в файл, используя несколько потоков.
Стоит обратить внимание, что модуль обрабатывает всё на CPU и, если ваших ресурсов не хватает, стоит воспользоваться выделенными серверами (к примеру, amazon или google) с большей производительностью.
Также, эта библиотека отлично подойдёт для выполнения простых, но повторяющихся операций.
⚡️ Создаём почтового бота для отправки email
Модуль smtplib позволяет настроить соединение между smtp сервером, чтобы работать с почтой. Установка не требуется, поскольку библиотека уже предустановлена в Python.
Полную документацию можно посмотреть здесь.
В этом примере мы взяли сервер Google (информацию по нему можно найти на сайте gmail), с помощью которого мы и создаём зашифрованное подключение.
Теперь осталось просто зайти в свою почту и разрешить доступ ненадёжных приложений к аккаунту.
Также, вы можете отправлять вложения (файлы, фотографии) прямо через этот модуль. Для этого сообщения составляются с помощью модуля email.
#миниурок #smtplib
Модуль smtplib позволяет настроить соединение между smtp сервером, чтобы работать с почтой. Установка не требуется, поскольку библиотека уже предустановлена в Python.
Полную документацию можно посмотреть здесь.
В этом примере мы взяли сервер Google (информацию по нему можно найти на сайте gmail), с помощью которого мы и создаём зашифрованное подключение.
Теперь осталось просто зайти в свою почту и разрешить доступ ненадёжных приложений к аккаунту.
Также, вы можете отправлять вложения (файлы, фотографии) прямо через этот модуль. Для этого сообщения составляются с помощью модуля email.
#миниурок #smtplib
⚡️ Замеряем время выполнения программы
Каждый раз, когда пишется какой-либо код, возникает вопрос: «Насколько моя программа быстрая?».
И, чтобы получить на него ответ, можно ограничиться лишь парой строчек.
Первый вариант — использование модуля time, а точнее — его одноимённого метода time, как в примере на картинке выше.
time.time() возвращает текущее время. Вычитая время начала и конца, мы получаем период исполнение команды
Второй вариант — использование unix и команды time. Для этого просто напишите перед запуском кода слово time и сразу узнайте скорость выполнения всей программы.
Учтите, что второй способ не стоит использовать на веб-серверах и других программах, которые зависят от внешних обстоятельств.
#миниурок #time
Каждый раз, когда пишется какой-либо код, возникает вопрос: «Насколько моя программа быстрая?».
И, чтобы получить на него ответ, можно ограничиться лишь парой строчек.
Первый вариант — использование модуля time, а точнее — его одноимённого метода time, как в примере на картинке выше.
time.time() возвращает текущее время. Вычитая время начала и конца, мы получаем период исполнение команды
Второй вариант — использование unix и команды time. Для этого просто напишите перед запуском кода слово time и сразу узнайте скорость выполнения всей программы.
Учтите, что второй способ не стоит использовать на веб-серверах и других программах, которые зависят от внешних обстоятельств.
#миниурок #time