Pythonist.ru - образование по питону
25K subscribers
295 photos
5 videos
5 files
1.15K links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://rknn.link/car
Download Telegram
💎 Знакомимся с декораторами в Python

🟨 Декораторы в Python: примеры использования. В этой статье на примерах разобраны такие темы, как возврат значений из декорированных функций, создание цепочки декораторов, добавление нескольких декораторов к одной функции, использование декораторов при обработке исключений.

🟨 Декораторы в Python: зачем они нужны и как их создавать. Обстоятельный разбор темы декораторов на примерах. Автор затронул такие темы, как декорирование функций с параметрами и создание цепочек декораторов.

🟨 Введение в декораторы в Python. Короткое и понятное объяснение сути декораторов.

🟨 Комбинируем декораторы. Пошаговый разбор применения композиции декораторов.

🟨 Топ-10 декораторов Python. Десятка декораторов, которые вы сможете использовать в собственном коде.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
А вы по какому принципу располагаете импорты?
👍71
👩‍💻 Вакансии по Python за прошлую неделю:

🔵 Fullstack Python React Разработчик. Usetech, удалённо (РФ), 250-300 т.р.

🔵 Python Senior Разработчик (FastAPI). Лайв Тайпинг, удалённо, 250-320 т.р.

🔵 Python Senior Разработчик (Django). DstLab, удалённо, 250-350 т.р.

🔵 Senior Python Developer (Web3/Trading). CreateIT, удалённо, $4000-6000

🔵 Python Senior Лид (Python, Java, FastAPI). iFellow, удалённо (РФ), 330-350 т.р.

🔵 Senior / Principal Back-End Developer AWS Python. SoftwareCountry.com, удалённо, $5000-6200
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Задача на логику. Камень, ножницы, бумага

Адам и Ева играют в «камень, ножницы, бумага» и уже сыграли 10 раз. Известно следующее:

🔎 Адам использовал камень 3 раза, ножницы — 6 раз, бумагу — 1 раз.
🔎 Ева использовала камень 2 раза, ножницы — 4 раза, бумагу — 4 раза.
🔎 Ни в одной из 10 игр не было ничьей.
🔎 Порядок игр неизвестен.

Кто выигрывает и с каким счетом?

⭐️ Решение

#логическаязадача
Please open Telegram to view this post
VIEW IN TELEGRAM
2🤔2
⚙️ Знакомство с отдельными полезными функциями в Python

1️⃣ Функция reduce в Python. reduce принимает функцию и итерируемый объект в качестве параметров и применяет полученную функцию к парам значений из итерируемого объекта, пока не останется только одно значение.

2️⃣ Функция help() в Python. При написании кода на Python нам может понадобиться узнать значение определенных ключевых слов, классов, модулей, функций и т. д. Тут на помощь приходит help().

3️⃣ Как работает функция enumerate() в Python? Эта функция принимает некий набор данных в качестве параметра и возвращает объект enumerate. Этот объект возвращается в формате пар ключ-значение, где ключи — это соответствующие индексы элементов, а значения — сами элементы из переданного набора данных.

4️⃣ Функция map() в Python. Встроенная в Python функция map() используется для применения функции к каждому элементу итерируемого объекта (например, списка или словаря) и возврата нового итератора для получения результатов.

5️⃣ Как использовать метод lower() в Python. Метод lower() — один из многих встроенных в Python методов для работы со строками. С его помощью можно переводить строки в нижний регистр.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
🔥 Вакансии по Python за последнюю неделю:

🟣 AI Backend-разработчик Junior/Middle. SP SOLUTION, офис/гибрид (Москва), до 160 т.р.

🟣 Senior Python Backend Developer. Standfin, офис (Ростов-на-Дону), от 200 т.р.

🟣 Python Middle Разработчик. ITKey, удаленно / гибрид (Москва), 250-300 т.р.

🟣 Senior Python Backend Engineer. Devhunt, удаленно, $3500-5000

🟣 Senior Python Разработчик (Django). CyberYozh, удалённо, $4000-5500+
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1👌1
🏃‍➡️Запустить Python-приложение локально — не проблема. Сделать так, чтобы оно одинаково работало у всех в команде, с базой данных и понятной конфигурацией — уже инженерная задача. Именно здесь начинается практический Docker.

На открытом вебинаре вы разберёте, как упаковать Python-приложение с FastAPI и базой данных в контейнеры и запускать всю систему одной командой. Мы покажем, как устроен Dockerfile для Python-проекта, как управлять зависимостями через uv и как связать сервисы между собой с помощью docker-compose.

Вы поймёте, как контейнеры обмениваются данными по сети, как настраиваются переменные окружения и почему такой подход даёт воспроизводимую среду разработки. Это базовый навык для backend-разработчика, который хочет уверенно работать с современным стеком.

⚡️Присоединяйтесь 17 февраля в 20:00 МСК в преддверии старта курса «Python Developer». Регистрация открыта: https://otus.pw/jnmd/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1
👩‍💻 Задача с кодом. Вывод уникальных элементов списка

▶️ Условие: В каждом входящем списке все элементы кроме двух повторяются хотя бы один раз. Напишите функцию, которая выводит два этих уникальных элемента, сохраняя их порядок в исходном списке.

▶️ Примеры:
return_unique([1, 9, 8, 8, 7, 6, 1, 6]) ➞ [9, 7]
return_unique([5, 5, 2, 4, 4, 4, 9, 9, 9, 1]) ➞ [2, 1]
return_unique([9, 5, 6, 8, 7, 7, 1, 1, 1, 1, 1, 9, 8]) ➞ [5, 6]


Решение на нашем сайте
.

#задача #coding
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация бесконечного цикла на Python
😁26🔥10❤‍🔥43😍2
👀 Вакансии по Python за последнюю неделю:

🎌 Junior Python Разработчик (FastAPI, asyncio). JoSpace, удалённо (РБ, желательно Минск), $700-800

🎌 Python Junior–Middle Разработчик (FastAPI). ООО Трион, удалённо, 60-65 т.р.

🎌 Senior Python Backend Engineer (Django, FastAPI). Devhunt, удалённо (вне РФ и РБ), $3500-5000

🎌 Python Senior+/Lead Developer (Django). JT Marketing, удалённо, от $5000

🎌 Senior Python Developer (FastAPI, aiogram). Агрегатор нейросетей в Telegram, удалённо, 450 т.р.
Please open Telegram to view this post
VIEW IN TELEGRAM
Встречный вопрос: как скачать питон с вирусами? 😳
🤣21🔥2💊1
💡 Подборка статей об алгоритмах на Python

1️⃣ Алгоритмы сортировки на Python. Эта статья познакомит вас с основными алгоритмами сортировки и их главными характеристиками.

2️⃣ Сортировка слиянием: для тех, кто не хочет просто использовать .sort(). Пошаговый разбор алгоритма сортировки слиянием.

3️⃣ Поиск в ширину на Python. Двоичные деревья вечны. По крайней мере, так думают технические менеджеры, занимающиеся наймом разработчиков. И когда на техническом собеседовании вас просят решить задачу, касающуюся двоичных деревьев, первое, что интервьюер захочет знать, — в ширину или в глубину?

4️⃣ Линейный поиск на Python. Линейный поиск — это алгоритм, который находит определенное значение в списке, проверяя все элементы по очереди. Он идеален в ситуациях, когда вы работаете с относительно небольшими наборами данных или когда сортировка данных нецелесообразна.

5️⃣ Алгоритм А* и его реализация на Python. Алгоритм А* — один из самых эффективных алгоритмов поиска кратчайшего пути между двумя точками графа. Эта статья поможет вам разобраться в нем.

6️⃣ Двоичные деревья Python на практике: зеркальное дерево. Подробный разбор решения задачи с LeetCode.
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Как душ должен работать и как душ работает на самом деле
😁254❤‍🔥1👌1
⚠️ Большинство ошибок в машинном обучении начинаются не с модели, а с окружения. Конфликты библиотек, «падающие» ноутбуки, хаос в зависимостях — знакомо?

🦾 На открытом вебинаре OTUS мы разберём, как с нуля выстроить стабильную и воспроизводимую среду для ML-разработки. Настроим Python, виртуальные окружения, Jupyter и VS Code, покажем рабочую структуру ML-проекта и подходы к управлению зависимостями.

Вы увидите, как перейти от разрозненных ноутбуков к полноценной инженерной практике: аккуратный код, понятная структура, предсказуемые сборки. Это база, без которой невозможно расти в ML и Data Science.

Встречаемся 26 февраля в 18:00 МСК в преддверие старта курса «Специализация Machine Learning». Присоединяйтесь и заложите правильный фундамент для карьеры ML-инженера: https://vk.cc/cULALL

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1
💥 Работа с файлами в Python

🚩 Чтение и запись файлов в Python. Простой туториал, где на примерах разбирается, как открыть, прочитать и записать файл.

🚩 Чтение бинарных файлов с помощью Python. Файл, который содержит бинарные данные, называется двоичным (бинарным) файлом. В этой статье рассмотрены три разных способа чтения бинарных файлов.

🚩 Чтение и запись в файл JSON-объекта. Эта статья познакомит вас с форматом JSON и методами, с помощью которых можно считать и записать этот формат в файл.

🚩 Создание и изменение PDF-файлов в Python. В экосистеме Python есть несколько отличных пакетов для чтения, изменения и создания PDF-файлов. Из этого руководства вы узнаете, как считывать текст из PDF-файла, как создавать, делить и объединять такие файлы, как их вращать и обрезать.

🚩 Как использовать модуль Pathlib. Все операционные системы имеют разные правила построения путей к файлам. Например, в Linux для путей используется косая черта (слэш, /), а в Windows — обратная косая черта (обратный слэш, \). Эта небольшая разница может вызвать ряд проблем. Модуль Pathlib обеспечит одинаковую работу ваших путей к файлам в разных операционных системах.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
💬 Задача на логику. Судебная головоломка

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

Почему с точки зрения отдельного обвиняемого лучше признаться, а с точки зрения обоих - не делать этого?

Излагайте свои рассуждения в комментариях!

#логическаязадача
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
💬 Ответ к задаче "Судебная головоломка"

Когда обвиняемый думает о себе, он может рассуждать следующим образом: "Допустим, второй обвиняемый признается. Если я тоже признаюсь, то получу легкое наказание, а если нет - буду сурово наказан. Допустим также, что второй обвиняемый не признается, тогда меня освободят независимо от моих действий. Поэтому лучше признаться".

Решив таким образом, оба обвиняемых признают свою вину. В результате они оба получат наказание, хотя и легкое. А могли бы быть освобождены, если бы оба не признали своей вины.

Дилемма заключённого, лежащая в основе этой задачи, - фундаментальная проблема в теории игр. Согласно ей рациональные игроки не всегда будут сотрудничать друг с другом, даже если это в их интересах.


#логическаязадача
Please open Telegram to view this post
VIEW IN TELEGRAM
6
💥 Вакансии по Python за последние две недели:

🟪 ML Middle разработчик (PyTorch/TF). Evapps, удалённо (РФ), 180-200 т.р.

🟥 AI Agent Python Developer. Aspirity Solution, удалённо (вне РФ/РБ), от $20/час

🟪 Python Senior Разработчик (FastAPI). AGIMA, удалённо (РФ), до 1600 р. /час

🟥 Python Senior Django Developer. VallettaSoftware, удалённо, $3500-4300

🟪 Python Backend Developer (FastAPI). Астратех, гибрид / удалённо (Москва / РФ), 350-450 т.р.

🟥 FullStack Python Senior Developer. ghostbusters, удалённо, $5000-8000

🟪 Python Middle/Senior Разработчик (FastAPI, AsyncIO). TrafficStars, офис (Лимассол, Кипр), 4500–5500 евро
Please open Telegram to view this post
VIEW IN TELEGRAM
Задача с кодом. Сиракузская последовательность

Сиракузская последовательность генерируется следующим образом. Берем любое натуральное число n. Если оно четное, то делим его на 2, а если нечетное, то умножаем на 3 и прибавляем 1 (получаем 3n + 1). Над полученным числом выполняем те же самые действия, и так далее.

Немецкий математик Коллатц выдвинул гипотезу: какое бы начальное число n мы ни взяли, рано или поздно мы получим единицу.

Напишите функцию, которая будет принимать в качестве аргумента число и возвращать кортеж из двух элементов: количества шагов сиракузской последовательности для переданного числа и наибольшее число в этой последовательности.

Примеры:

collatz(2) ➞ (2, 2)
# seq = [2, 1]

collatz(3) ➞ (8, 16)
# seq = [3, 10, 5, 16, 8, 4, 2, 1]

collatz(7) ➞ (17, 52)
# seq = [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]

collatz(8) ➞ (4, 8)
# seq = [8, 4, 2, 1]

Решение на нашем сайте.

#задача #coding