Python - обучающие материалы, полезные советы и статьи. Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/python_practics
Задача:
Завершите решение так, чтобы оно возвращало значение true, если первый переданный аргумент (строка) заканчивается вторым аргументом (также строкой).
Пример:
solution('abc', 'bc') # returns true
solution('abc', 'd') # returns false
#задачник
@python_practics
Внимание! - Вопрос!
Какие задачи хорошо параллелятся, какие плохо?
Хорошо параллелятся задачи, которые порождают долгий IO. Когда тред упирается в ожидание сокета или диска, интерпретатор бросает этот тред и стартует следующий. Это значит, не будет простоя из-за ожидания. Наоборот, если ходить в сеть в одном треде (в цикле), то каждый раз придется ждать ответа.
Однако, если затем в треде обрабатывает полученные данные, то выполнятся будет только он один. Это не только не даст прироста в скорости, но и замедлит программу из-за переключения на другие треды.
Короткий ответ: хорошо ложатся на треды задачи по работе с сетью. Например, выкачать сто урлов. Полученные данные обрабатывайте вне тредов.
#вопросы_из_собеседований
@python_practics
Ставь 👍 если было полезно
#теория_python
@python_practics
Machine Learning with R: Learn techniques for building and improving machine learning models (2024)
Чему вы научитесь:
• Разработке моделей машинного обучения на R;
• Анализу и предобработке данных;
• Применению различных алгоритмов ML;
• Оценке и улучшению качества моделей;
• Визуализации результатов анализа.
"Machine Learning with R" поможет вам освоить инструменты и техники машинного обучения с использованием языка R.
Книга в формате pdf👇
#курсы_книги
@python_practics
Python 3.14 станет быстрее на 30% без изменений в существующем коде
Python 3.14, релиз которого ожидается уже в этом году, получит новый тип интерпретатора, способного ускорить производительность на 30%.
И главное — без единой правки в существующем коде.
Подробнее👇
#статьи
@python_practics
SciKit-Image
SciKit-Image — коллекция алгоритмов для обработки изображений, основанная на NumPy, scipy.ndimage и ряде других библиотек, обеспечивающая универсальный набор процедур обработки изображений в Python.
Особенности SciKit-Image:
• Простые и эффективные инструменты для обработки изображений и методов компьютерного зрения.
• Доступна для всех и повторно используема в различных контекстах.
• Создана на основе NumPy, SciPy и matplotlib (NumPy и SciPy должны быть предустановлены).
• Работает со всеми форматами данных, поддерживаемыми библиотекой изображений Python.
• Работает с URL-путями изображений.
Подробнее👇
#фреймворки_библиотеки
@python_practics
Ставь 👍 если было полезно
#теория_python
@python_practics
Задача:
Напишите функцию, которая принимает массив строк в качестве аргумента и возвращает отсортированный массив, содержащий те же строки, упорядоченные от самой короткой к самой длинной.
Пример:
["Telescopes", "Glasses", "Eyes", "Monocles"] —> ["Eyes", "Glasses", "Monocles", "Telescopes"]
Внимание! - Вопрос!
Для чего нужен модуль operator?
Модуль operator содержит функции, которые соответствуют стандартным операторам. Таким образом, вместо lambda x, y: x + y можно использовать уже готовую функцию operator.add и т.д.
#вопросы_из_собеседований
@python_practics
Ставь 👍 если было полезно
#теория_python
@python_practics
50 Python Concepts Every Developer Should Know (2024)
Чему вы научитесь:
• Ключевым концепциям языка Python;
• Продвинутым техникам программирования;
• Работе с генераторами и декораторами;
• Оптимизации и отладке Python-кода;
• Применению функционального программирования.
"50 Python Concepts" предоставит вам глубокое понимание важнейших концепций Python для профессиональной разработки.
Книга в формате pdf👇
#курсы_книги
@python_practics
Тим О’Райли: ИИ не убьёт программирование, но полностью его изменит
Тим О’Райли, создатель O’Reilly Media и идеолог Веб 2.0, выступил с развернутым мнением о будущем программирования. Он уверен: разработчики никуда не исчезнут, но их работа станет совсем другой. Сегодня индустрия переживает очередную революцию — теперь под давлением ИИ генераторов кода. Многие задаются вопросом: не заменит ли искусственный интеллект программистов?
О’Райли уверен: нет. Но привычный подход к разработке уйдет в прошлое.
Подробнее👇
#статьи
@python_practics
PaddleOCR
PaddleOCR — многоязычные наборы инструментов OCR на основе DL-фреймворка PaddlePaddle.
Особенности PaddleOCR:
• Практичная сверхлегкая система OCR.
• Поддержка распознавания более 80 языков.
• Большой выбор инструментов аннотирования и синтеза данных.
• Поддержка обучения и развертывания на серверных, мобильных, встроенных устройствах и IoT
Подробнее👇
#фреймворки_библиотеки
@python_practics
Ставь 👍 если было полезно
#теория_python
@python_practics
Задача:
Напишите функцию, которая принимает строку фигурных скобок и определяет, является ли порядок расположения фигурных скобок допустимым. Она должна возвращать значение true, если строка допустима, и значение false, если она недопустима.
Пример:
"(){}[]" => True
"([{}])" => True
"(}" => False
"[(])" => False
"[({})](]" => False
Блек-Джек на Python
Полный код можно посмотреть по ссылке👇
#sandbox
@python_practics
Топовые паттерны для разработки архитектуры ПО
В разработке ПО выбор правильных паттернов архитектуры может сильно повлиять на производительность и масштабируемость. Эксперт Solvery рассказал в статье о топовых практиках и их применении.
Подробнее👇
#статьи
@python_practics
Подсчет нахождений паттерна
Это важный и рабочий метод, когда нам нужно знать количество повторений паттерна в тексте. В python есть библиотека re, которая сделает эту работу за нас.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Внимание! - Вопрос!
В чем отличие тредов от мультипроцессинга?
Главное отличие в разделении памяти. Процессы независимы друг от друга, имеют раздельные адресные пространства, идентификаторы, ресурсы. Треды исполняются в совместном адресном порстранстве, имеют общий доступ к памяти, переменным, загруженным модулям.
#вопросы_из_собеседований
@python_practics
Транспонировать матрицу
Если вам нужно преобразовать все строки в столбцы и наоборот, в python вы можете транспонировать матрицу всего в одну строку кода, используя функцию zip.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Sudoku на python
Полный код можно посмотреть по ссылке👇
#sandbox
@python_practics
Claude API: что это такое и как правильно настроить и подключить
Claude API — интерфейс программирования приложений с возможностью интеграции моделей обработки естественного языка (NLP) на базе Claude AI. Мощь Claude заключается в его способности понимать контекст, извлекать информацию и генерировать смысловые продолжения.
Авторы рассмотрели все плюсы и основные функции free Claude API, рассказали, как настроить проект и подключиться к сервису.
Подробнее👇
#статьи
@python_practics
Коллега: ты закрыл задачу?
Я:...
Забирайте на случай важных переговоров👌
#мемчики
@python_practics
Линейная алгебра
Иногда нам нужно увеличить числа в списке в 2 или 5 раз. Этот код покажет, как это сделать.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Внимание! - Вопрос!
Какие знаете функции из модуля itertools?
Модуль itertools содержит функции для работы с итераторами и создания итераторов. Некоторые из его функций:
• product – декартово произведение итераторов (для избегания вложенных циклов for);
• permutations – генерация перестановок;
• combinations – генерация сочетаний;
• combinations_with_replacement – генерация размещений;
• chain – соединение нескольких итераторов в один;
• takewhile – получение значений последовательности, пока значение функции-предиката для её элементов истинно;
• dropwhile – получение значений последовательности начиная с элемента, для которого значение функции-предиката перестанет быть истинно.
#вопросы_из_собеседований
@python_practics
Нахождение максимального числа
В приведенном коде с использованием лямбда-функции мы проверяем условие сравнения и в соответствии с ним возвращаем максимальное число.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Chess game with Python
Полный код можно посмотреть по ссылке👇
#sandbox
@python_practics