Задача:
Завершите метод/функцию, чтобы он преобразовывал слова, разделенные тире/подчеркиванием, в верхний регистр. Первое слово в выводе должно быть написано с заглавной буквы, только если исходное слово было написано с заглавной буквы. Следующие слова всегда должны быть с заглавной буквы.
Пример:
#задачник
@python_practics
Завершите метод/функцию, чтобы он преобразовывал слова, разделенные тире/подчеркиванием, в верхний регистр. Первое слово в выводе должно быть написано с заглавной буквы, только если исходное слово было написано с заглавной буквы. Следующие слова всегда должны быть с заглавной буквы.
Пример:
"the-stealth-warrior" # "theStealthWarrior"
"The_Stealth_Warrior" # "TheStealthWarrior"
#задачник
@python_practics
👍6
Создание веб-роботов
Этот скрипт поможет вам автоматизировать веб-сайты с помощью Python. Вы сможете создать веб-робота, который сможет управлять любым веб-сайтом. Этот скрипт очень удобен для веб-скрапинга и автоматизации веб-сайтов.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Этот скрипт поможет вам автоматизировать веб-сайты с помощью Python. Вы сможете создать веб-робота, который сможет управлять любым веб-сайтом. Этот скрипт очень удобен для веб-скрапинга и автоматизации веб-сайтов.
👍 - если было полезно
#полезные_сниппеты
@python_practics
👍15
Внимание! - Вопрос!
В чем отличие copy() от deepcopy()?
Глубокая копия deepcopy() создает новую и отдельную копию всего объекта или списка со своим уникальным адресом памяти. Это означает, что любые изменения, внесенные вами в новую копию объекта или списка, не будут отражаться в исходной. Этот процесс происходит следующим образом: сначала создается новый список или объект, а затем рекурсивно копируются все элементы из исходного в новый.
Поверхностное копирование copy() также создает отдельный новый объект или список, но вместо копирования дочерних элементов в новый объект оно просто копирует ссылки на их адреса памяти. Следовательно, если вы сделаете изменение в исходном объекте, оно будет отражено в скопированном объекте, и наоборот. Короче говоря, обе копии зависят друг от друга.
#вопросы_из_собеседований
@python_practics
В чем отличие copy() от deepcopy()?
Поверхностное копирование copy() также создает отдельный новый объект или список, но вместо копирования дочерних элементов в новый объект оно просто копирует ссылки на их адреса памяти. Следовательно, если вы сделаете изменение в исходном объекте, оно будет отражено в скопированном объекте, и наоборот. Короче говоря, обе копии зависят друг от друга.
#вопросы_из_собеседований
@python_practics
👍12❤1
Ray
Фреймворк Ray, разработанный группой исследователей из Калифорнийского университета в Беркли, лежит в основе ряда популярных распределенных библиотек машинного обучения. Но его применение не ограничивается только задачами машинного обучения. С помощью Ray можно разбить и распределить по системам фактически любые задачи для Python.
Синтаксис Ray минимален, поэтому распараллелить существующие приложения можно без лишних усилий. Декоратор @ray.remote распределяет эту функцию по любым доступным узлам в кластере Ray с необязательными параметрами, указывающими, сколько процессоров, в том числе графических, нужно использовать.
Результаты каждой распределенной функции возвращаются в виде объектов Python, поэтому ими легко управлять и хранить, а объем копирования между узлами или внутри них сведен к минимуму. Последнее будет очень полезно, например, при работе с массивами NumPy.
Подробнее👇
#фреймворки_библиотеки
@python_practics
Фреймворк Ray, разработанный группой исследователей из Калифорнийского университета в Беркли, лежит в основе ряда популярных распределенных библиотек машинного обучения. Но его применение не ограничивается только задачами машинного обучения. С помощью Ray можно разбить и распределить по системам фактически любые задачи для Python.
Синтаксис Ray минимален, поэтому распараллелить существующие приложения можно без лишних усилий. Декоратор @ray.remote распределяет эту функцию по любым доступным узлам в кластере Ray с необязательными параметрами, указывающими, сколько процессоров, в том числе графических, нужно использовать.
Результаты каждой распределенной функции возвращаются в виде объектов Python, поэтому ими легко управлять и хранить, а объем копирования между узлами или внутри них сведен к минимуму. Последнее будет очень полезно, например, при работе с массивами NumPy.
Подробнее👇
#фреймворки_библиотеки
@python_practics
👍2🔥1
Получите тексты песен
Этот продвинутый скрипт покажет вам, как получить текст любой песни. Сначала вы должны получить бесплатный API-ключ на сайте Lyricsgenius, а затем выполнить следующий код.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Этот продвинутый скрипт покажет вам, как получить текст любой песни. Сначала вы должны получить бесплатный API-ключ на сайте Lyricsgenius, а затем выполнить следующий код.
👍 - если было полезно
#полезные_сниппеты
@python_practics
👍13
Способы обхода GIL для повышения производительности
Global Interpreter Lock в Питоне предотвращает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python-приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.
На первый взгляд, GIL кажется разумным компромиссом для упрощения разработки. Однако, когда есть многоядерные процессоры и появляется необходимость в высокопроизводительных вычислениях GIL серьезно ограничивает возможности масштабирования и параллельную работу.
В этой статье автор рассмотрел способы обхода GIL.
Подробнее👇
#статьи
@python_practics
Global Interpreter Lock в Питоне предотвращает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python-приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.
На первый взгляд, GIL кажется разумным компромиссом для упрощения разработки. Однако, когда есть многоядерные процессоры и появляется необходимость в высокопроизводительных вычислениях GIL серьезно ограничивает возможности масштабирования и параллельную работу.
В этой статье автор рассмотрел способы обхода GIL.
Подробнее👇
#статьи
@python_practics
👍4
GPT-3. Руководство по использованию API OpenAI
Чему вы научитесь:
• Основам работы с API OpenAI для доступа к модели GPT-3;
• Форматированию и отправке запросов к API для получения текстовых ответов от модели;
• Использованию различных параметров запроса для настройки работы модели, таких как температура, максимальная длина ответа и прочие;
• Обработке и интерпретации ответов от модели GPT-3;
• Реализации различных приложений и сервисов, использующих API GPT-3 для генерации текста.
Эта книга предназначена для разработчиков, исследователей и всех, кто интересуется использованием и применением модели GPT-3 в своих проектах.
Книга в формате pdf👇
#курсы_книги
@python_practics
Чему вы научитесь:
• Основам работы с API OpenAI для доступа к модели GPT-3;
• Форматированию и отправке запросов к API для получения текстовых ответов от модели;
• Использованию различных параметров запроса для настройки работы модели, таких как температура, максимальная длина ответа и прочие;
• Обработке и интерпретации ответов от модели GPT-3;
• Реализации различных приложений и сервисов, использующих API GPT-3 для генерации текста.
Эта книга предназначена для разработчиков, исследователей и всех, кто интересуется использованием и применением модели GPT-3 в своих проектах.
Книга в формате pdf👇
#курсы_книги
@python_practics
👍2
С помощью какой функции можно вызвать метод из родительского класса python?
Anonymous Quiz
59%
super()
33%
self()
8%
meth()
🔥7
Мониторинг Celery
Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье автор подробно разобрал события, их жизненный цикл, откуда и как их принимать. Также рассмотрел механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудил существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.
Подробнее👇
#статьи
@python_practics
Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье автор подробно разобрал события, их жизненный цикл, откуда и как их принимать. Также рассмотрел механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудил существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.
Подробнее👇
#статьи
@python_practics
👍2
Внимание! - Вопрос!
Что такое интроспекция?
Интроспекция — это способность программы исследовать тип или свойства объекта во время работы программы. Вы можете поинтересоваться, каков тип объекта, является ли он экземпляром класса. Некоторые языки даже позволяют узнать иерархию наследования объекта. Возможность интроспекции есть в таких языках, как Ruby, Java, PHP, Python, C++ и других. В целом, инстроспекция — это очень простое и очень мощное явление.
#вопросы_из_собеседований
@python_practics
Что такое интроспекция?
#вопросы_из_собеседований
@python_practics
👍3