28154
Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month
🚫 Антипаттерн недели: Игнорирование finally при работе с ресурсами
В Python важно гарантированно освобождать ресурсы (файлы, соединения, сокеты). Если этого не делать, возможны утечки памяти и зависание программы.
✔️ Используйте блок finally или конструкцию with для автоматического управления ресурсами.
Python Learning 👩💻
⚙️ signal.set_wakeup_fd()signal.set_wakeup_fd() позволяет отправлять сигналы в файловый дескриптор вместо стандартного обработчика сигналов. Это полезно для обработки сигналов в асинхронных приложениях.
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Декоратор @lru_cache(maxsize=2) кэширует результаты вызовов функции fibonacci(n), ускоряя вычисления. fibonacci(5) рекурсивно вычисляет сумму fibonacci(4) + fibonacci(3), что даёт 5. Код выполняется без ошибок.
⚙️ inspect.currentframe()inspect.currentframe() позволяет получить текущий стек вызовов и информацию о выполняемом коде. Это полезно для отладки, логирования и анализа исполнения программы.
Python Learning 👩💻
🌐Хотите войти в IT, но программирование кажется сложным? Вы уже пробовали учить Python, но застревали на базах данных, не понимали, как работает асинхронный код, и бросали попытки?
Тем временем компании продолжают искать Python-разработчиков. Они нужны в веб-разработке, data science, автоматизации. Этот язык один из самых востребованных, и освоить его — значит получить реальный шанс на хорошую работу.
Есть решение. Обучение «Python Developer. Basic» — это пошаговый путь от первых строк кода до уверенного Junior-разработчика. Вы освоите FastAPI, Django, работу с API, научитесь писать автотесты и работать с DevOps-инструментами.
👉Начните с нуля и получите сильное портфолио. Пройдите тест и получите доступ к бесплатным урокам и скидку на обучение: https://otus.pw/XQqu/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
😈 Челлендж по запуску 12 простых IT-проектов за 12 месяцев
Летом 2023 г. появилось комьюнити инди-хакеров, в котором ребята решили запускать 1 простой продукт в онлайне каждый месяц.
И в реальном времени показывать: как разрабатывают, продвигают и сколько получилось заработать на запусках таких микро-проектов.
Например, вот 👉 пост про то, почему американцы платят $40 за простой конвертер картинок, который сделали за 4 недели. Несмотря на то, что вокруг полно бесплатных аналогов)
👉 Этот пост про то, как за 2 недели запустили темную тему с тарифами от $5 до $99. Четыре таких продукта приносят на пассиве как зп среднего разработчика.
А вот 👉 тут — как все может грустно закончиться, если 2 года пилить сложный продукт, не показывая его рынку.
👉 Здесь, как за 30 дней сделали приложение для решения задач по математике, которое через 4 месяца вышло на $1200/месяц.
А 👉 здесь рассказывают, как заработали 1 700 000 рублей на боте для создания фотокниг и какие фейлы допустили.
Первая находка в их комьюнити IT билдеров — метод, который позволяет сделать запуск за 1 месяц.
Вторая находка — метод продвижения, который они используют. В среднем на продвижение одного IT-продукта уходит $150, причем есть продукты с 200К+ юзеров 🙂
Вот здесь можно подписаться на канал, чтобы подглядеть за их запусками. А может, и попробовать сделать такой простой продукт самому)
⚙️ sys._current_frames()sys._current_frames() позволяет получить стеки вызовов всех активных потоков в программе. Это полезно для отладки многопоточных приложений.
Python Learning 👩💻
⚙️ dataclasses.astuple()dataclasses.astuple() преобразует объект dataclass в неизменяемый кортеж, что удобно для сериализации и работы с неизменяемыми структурами.
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Функция filter() применяет лямбда-функцию lambda x: x % 2 == 0, оставляя только чётные числа. В результате получаем [2, 4, 6]. Код выполняется корректно.
Тест: узнай свой грейд и зарплату
1. Переходи в бота ШОРТКАТ @shortcut_py_bot
2. Ответь на пару вопросов о своём опыте работы
3. В зависимости от опыта команда сервиса предложит формат оценки грейда — тестирование или полноценное мок-интервью с опытным ментором
4. После ты узнаешь свой грейд и з/п в рынке — на основе опыта разработчиков из бигтеха
Если опыта работы у тебя совсем нет, можно попробовать пройти, но лучше тест сработает на тех, кто уже работает в разработке.
Пройти тестирование в ШОРТКАТ ➡️ @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxDrfCh
⚙️ contextlib.ExitStackcontextlib.ExitStack позволяет управлять несколькими контекстными менеджерами динамически.
Python Learning 👩💻
НЕ изи войти в айти! 😬
Тебя не бесят «гуру», которые обещают зп от 300к после двух недель на их легендарном курсе по Python за 150к? 😂 - Меня ДА!
Потому что, чтобы стать программистом, надо пропахать как чёрт за партой хотя бы годик!
А чтобы не свихнуться в одиночку, залетай в чат начинающих Python-щиков, где ты получишь:
1️⃣ Разбор сложных вопросов простым языком
2️⃣ Поддержку тех, кто тоже с 0 учит Python, и не боится показаться глупым
3️⃣ Регулярные плюшки в виде стримов от препода с 15-ти летним опытом
➡️А еще, в закрепе есть БЕСПЛАТНЫЙ вводный курс по Python, ну это так, к слову))
Короче, всё для прокачки! Залетай — ссылка на чат (тык)
⚙️ sys.setprofile()
Метод sys.setprofile() позволяет установить функцию профилирования, которая вызывается при каждом вызове, возврате или исключении в Python-коде. Это полезно для отладки, анализа производительности и трассировки выполнения кода.
Python Learning 👩💻
Что спрашивают на собеседовании у Middle Python-разработчика?
Уже завтра, 11 февраля в 19:00 мск — бесплатное открытое собеседование в прямом эфире!
Интервьюер Савва Демиденко, ex. TechLead в Яндексе, Авито и другом русском бигтехе будет задавать реальные вопросы и задачи разработчику-добровольцу. В конце — время вопросов ментору из зала.
Что узнаешь на эфире:
✅ Какие вопросы задают на собеседованиях и зачем
✅ Как подготовиться, чтобы получить достойный оффер
✅ Чего ждут от кандидатов на Middle Python
Запишись на эфир в боте ШОРТКАТ → @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqumRSUd
🚫 Антипаттерн недели: Использование mutable default arguments
В Python опасно использовать изменяемые объекты (списки, словари, множества) как значения по умолчанию в аргументах функций. Это приводит к непредсказуемому поведению, так как объект создаётся один раз при определении функции и сохраняет своё состояние между вызовами.
✔️ Используйте None в качестве значения по умолчанию и создавайте новый объект внутри функции.
Python Learning 👩💻
⚙️ rich.print()rich.print() — это удобный способ красиво выводить текст, таблицы и логи в терминал с поддержкой цветного форматирования. Библиотека rich делает консольные приложения более читаемыми и наглядными.
🔗 Документация
Python Learning 👩💻
⚙️ os.getloadavg()os.getloadavg() возвращает среднюю нагрузку на систему за последние 1, 5 и 15 минут. Это полезно для мониторинга производительности и загрузки CPU.
Python Learning 👩💻
🔥 Уже этой весной состоится 5-я юбилейная конференция Data Fusion 2025. Не пропустите самое масштабное событие в сфере анализа данных и ИИ.
💻Специалисты по работе с ИИ и данными из бизнеса, науки и государства соберутся на одной площадке, чтобы вместе ответить на ключевые вопросы:
— О чем говорят новейшие исследования в области ИИ в России и за рубежом?
— Как готовить кадры в эру ИИ?
— Как устроена экономика данных и какие отрасли будут ее драйверами?
— В чем особенности применения технологий ИИ и ML в фарме, медицине, промышленности, нейробиологии?
📍Встречаемся 16-17 апреля в Технологическом кластере «Ломоносов» в Москве.
Участие в конференции — бесплатное. Регистрация уже открыта – https://data-fusion.ru/
🙌 Увидимся на Data Fusion 2025!
#AI #ML #DataFusion #Конференция #IT #bigdata #datascience
⚙️ sys.setswitchinterval()sys.setswitchinterval() позволяет управлять частотой переключения потоков в Python, изменяя временной интервал между переключениями контекста. Это полезно для настройки многопоточных программ.
Python Learning 👩💻
⚙️ inspect.getgeneratorstate()inspect.getgeneratorstate() позволяет определить текущее состояние генератора. Это полезно при отладке и анализе работы генераторов в Python, чтобы понимать, активен ли генератор, завершён или ожидает ввода.
Python Learning 👩💻
⚙️ types.new_class()types.new_class() позволяет динамически создавать новые классы во время выполнения программы. Это полезно для метапрограммирования, создания классов с динамическими атрибутами и автоматической генерации API.
Python Learning 👩💻
🚫 Антипаттерн недели: Ловушка с оператором is при сравнении строк
В Python оператор is проверяет, ссылаются ли две переменные на один и тот же объект в памяти, а не равны ли их значения. Это может приводить к неожиданным ошибкам при сравнении строк.
✔️ Используйте == для сравнения значений строк, а не is.
Python Learning 👩💻
🚀 Работаешь в Data Science? Заяви о себе на Data Fusion Contest 2025!
Data Fusion Contest 2025 это —
🔹возможность прокачать скилы на практике, внести вклад в развитие сообщества DS в России, а также погрузиться в новые DS/ML-методы;
🔹шанс сразиться с лучшими представителями профессии и проявить себя;
🔹возможность получить внушительный приз.
В этом году участников ждут 2 основные задачи:
«Label Craft» — про предсказание категории товаров.
«4 Cast» — про предсказание динамики платежей на последующие 12 недель.
И одна образовательная задача — «Distribution».
Победители смогут презентовать свои решения на конференции Data Fusion 2025 в кластере «Ломоносов».
Организаторы соревнования — ИТ-холдинг Т1 и ВТБ.
📆 Даты проведения соревнования: с 13 февраля по 7 апреля 2025 года.
➡️ Регистрируйся на соревнование прямо сейчас.
Покажи, на что ты способен! 🔥
Подробнее о рекламодателе
⚙️ sys.call_tracing()sys.call_tracing() позволяет выполнить функцию с заданными аргументами, включая трассировку вызовов, установленную через sys.settrace(). Это полезно для профилирования и отладки.
Python Learning 👩💻
⚙️ pathlib.Path.read_text()pathlib.Path.read_text() — удобный способ прочитать содержимое текстового файла в строку. Этот метод автоматически открывает файл, читает его содержимое и закрывает его после чтения.
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Функция enumerate() нумерует элементы списка. Параметр start=1 задаёт начало нумерации с 1, а не с 0, поэтому вывод будет 1 a, 2 b, 3 c. Код выполняется корректно.
❓ Вопрос на собеседовании
Как работает copy-on-write (COW) в Python и в каких случаях он применяется?
Ответ ⬇️
Copy-on-write (COW) — это оптимизация, при которой объект копируется только при попытке его изменения. В Python это особенно заметно при использовании fork() в многопроцессных программах: дочерний процесс получает копию памяти родительского процесса, но реальные копии данных создаются только при их изменении.
Это помогает эффективно использовать память при работе с процессами, но может привести к неожиданным накладным расходам, если изменять большие объёмы данных после fork().
Пример использования ⚙️
import os
data = [1] * 10**6 # Большой список
pid = os.fork()
if pid == 0: # Дочерний процесс
data[0] = 42 # Копирование происходит только здесь!
print("Дочерний процесс завершён")
else:
print("Родительский процесс")
⚙️ functools.singledispatch
Метод functools.singledispatch позволяет создавать перегруженные функции на основе типа первого аргумента. Это полезно для написания обобщённого кода без сложных if isinstance(...).
Python Learning 👩💻
⚙️ threading.Timer()
Метод threading.Timer() позволяет создавать таймеры, которые выполняют определенную функцию через заданный интервал времени. Это полезно для отложенного выполнения задач без блокировки основного потока.
Python Learning 👩💻
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.