Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month
⚙️ sys.unraisablehooksys.unraisablehook
позволяет перехватывать исключения, которые не могут быть обработаны обычным try-except
, например, ошибки в деструкторах (__del__
). Это полезно для отладки и логирования неожиданных ошибок.
🔗 Документация
Python Learning 👩💻
⚙️ threading.excepthook()threading.excepthook()
позволяет перехватывать исключения, возникшие в потоках, что полезно для логирования и предотвращения неожиданного завершения программы.
🔗 Документация
Python Learning 👩💻
⌛ Что будет выведено при выполнении кода?
Пояснение ⬇️
Counter подсчитывает количество повторений элементов в списке. 'apple' встречается 3 раза, а 'grape' отсутствует, поэтому counter['grape'] возвращает 0, а не KeyError. Код выполняется без ошибок.
⚙️ contextlib.nullcontext()contextlib.nullcontext()
создаёт пустой контекстный менеджер, который не выполняет никаких действий. Это полезно, когда нужно условно использовать with
, но в некоторых случаях контекстный менеджер не требуется.
🔗 Документация
Python Learning 👩💻
⚙️ inspect.signature()inspect.signature()
позволяет получать информацию о сигнатуре функции, включая её аргументы, значения по умолчанию и аннотации. Это полезно для метапрограммирования, генерации документации и анализа кода во время выполнения.
🔗 Документация
Python Learning 👩💻
⚙️ contextlib.suppress()contextlib.suppress()
позволяет временно подавлять определённые исключения в блоке кода. Это удобная альтернатива try-except
, если нам не нужно обрабатывать ошибку, а просто игнорировать её.
🔗 Документация
Python Learning 👩💻
⚙️ pathlib.Path.resolve()Path.resolve()
из модуля pathlib
позволяет получить абсолютный путь к файлу или директории, автоматически обрабатывая символические ссылки и относительные пути. Это удобный способ работы с файловой системой в Python.
🔗 Документация
Python Learning 👩💻
Инженерам посвящается! :)
27 февраля вместе с Вадимом Вагановым, ведущим экспертом разработки Газпромбанк.Тех, поговорим о том, как бэкенд-разработчикам красиво и наглядно показывать свои результаты.
Какие вопросы обсудим:
– Что делать, если есть трудности с презентацией и оценкой своей работы
– Как мониторинг может помочь решить эту проблему
– Какие метрики стоит отслеживать в backend-приложениях
– Почему мониторинг — это навык, который стоит прокачать любому инженеру
Регистрируйся по ссылке: https://www.gazprombank.tech
Реклама, Банк ГПБ (АО), ИНН: 7744001497
⚙️ 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 👩💻
🚫 Антипаттерн недели: Использование изменяемых объектов как ключей в словаре
В Python ключи в dict
должны быть неизменяемыми (immutable). Если использовать изменяемые объекты (списки, множества), это приведёт к TypeError
, так как такие объекты нехешируемы.
✔️ Используйте кортежи или строки в качестве ключей.
Python Learning 👩💻
⚙️ gc.freeze()gc.freeze()
фиксирует все уже существующие объекты в памяти, исключая их из будущих сборок мусора. Это полезно для оптимизации долгоживущих процессов, например, серверов или CLI-приложений, снижая нагрузку на сборщик мусора.
🔗 Документация
Python Learning 👩💻
⚙️ importlib.resources.files()importlib.resources.files()
позволяет безопасно работать с ресурсами внутри пакетов без необходимости вручную определять пути. Это удобный способ загружать файлы внутри модулей.
🔗 Документация
Python Learning 👩💻
У вас была ситуация, когда вы открываете новый проект или библиотеку и пытаетесь разобраться в коде?
Если в этом проекте используются аннотации типов - вы справитесь с этой задачей намного быстрее. Также на уроке рассмотрим библиотеку pydantic, которая позволяет вывести на новый уровень работу с данными в Python.
Узнайте, как эффективно реализовать интернационализацию и локализацию в Spring-приложениях.
⏺26 февраля в 20:00 МСК
Бесплатно. Урок в рамках старта курса «Python для аналитики» от Otus.
💬 Ссылка на регистрацию:
https://clck.ru/3GcbT5Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🐍Пишете на Python, но с веб-разработкой пока не срослось. Попробовали Django — слишком громоздко. Flask — вроде проще, но чего-то не хватает. В итоге на бэкенде сплошной хаос, а продакшену страшно доверить даже тестовый сервер.
FastAPI решает эти проблемы. Он быстрый, удобный и дружит с асинхронностью. Хотите понять, как писать API и рендерить страницы без боли? Приходите на открытый урок «Знакомство с веб-разработкой на FastAPI» 27 февраля в 20:00 (мск).
Мы разберём:
- Как работает FastAPI и почему он быстрее Flask
- Как писать JSON API и рендерить HTML в одном приложении
- Как подружить FastAPI с Jinja2 и обрабатывать формы
Спикер Сурен Хоренян — бэкенд-разработчик на Python, open-source contributor, руководитель команды в ВК Рекламе.
Участники получат скидку на большое обучение «Python Developer. Basic».
👉Регистрируйтесь на вебинар: https://otus.pw/tvXs/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Python-разработчики уже который год остаются одними из самых востребованных на рынке. По данным Хабр Карьера, сейчас для них открыто около десяти тысяч вакансий со средней зарплатой 196 000 рублей.
Попробуйте себя в этой профессии на бесплатном курсе Нетологии «Основы Python: создаём телеграм-бота». За 5 занятий вы не просто познакомитесь с логикой работы языка и научитесь применять базовые конструкции, но и напишете телеграм-бота и планировщик задач.
После основной части курса вам откроется тренажёр-симулятор с рабочими задачами специалиста — сможете взглянуть на профессию разработчика изнутри, узнать, как выглядит общение в команде, и создадите программу для интернет-магазина зоотоваров. А начинать учиться можно сразу.
Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5x93fGL
⚙️ loguru.loggerloguru.logger
— это мощный и удобный логгер, который упрощает логирование в Python. Он поддерживает цветной вывод, автоматическое форматирование и удобное управление логами.
🔗 Документация
Python Learning 👩💻
🚫 Антипаттерн недели: Игнорирование 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 👩💻