Pythoner
Kanalga Telegram’da o‘tish
Полезные материалы по Python, которые будут интересны опытному и начинающему разработчику. Сотрудничество - @flattys Цены - @serpent_media Канал на бирже: https://telega.in/c/pythonercode
Ko'proq ko'rsatish6 554
Obunachilar
-124 soatlar
-117 kun
-4830 kun
Postlar arxiv
6 553
🇷🇺Разбираешься в радиочипах, оптике и связи? Забери до 2 000 000 рублей за свои инженерные навыки на турнире «Дронкон»🇷🇺
«Сталинские Соколы» открывают регистрацию на 3-й Всероссийский турнир «Дронкон», который пройдет с 8 по 14 мая.
2 направления для победы:
- Инженерное дело: беспроводная связь, радиочипы и оптические системы + стратегия «Битва Дронов»;
- Пилотирование: War Thunder, GeoGuessr и FPV-гонки + стратегия «Битва Дронов».
Призовой фонд для победителей одной дисциплины:
🥇место – 2 000 000 рублей
🥈место – 1 500 000 рублей
🥉место – 1 000 000 рублей
Награда за 4-8 места - 150 000 рублей
Пройди заочный онлайн-этап и получи путевку на очный этап турнира в Республику Татарстан!
Перелет, питание, проживание - за счет организаторов.
🇷🇺 Подать заявку и узнать подробности 🇷🇺
6 553
✈️Зачем вообще париться с памятью в Python?
Казалось бы, Python — язык высокого уровня с автоматическим управлением памятью. Зачем нам вообще беспокоиться об этом? Но, друзья мои, даже в Пайтоне память не бесконечна. Особенно когда вы работаете с большими данными или создаете высоконагруженные приложения.
➡️memory_profiler: ваш верный спутник
memory_profiler — это как швейцарский нож для анализа памяти. Вот пример его использования:
from memory_profiler import profile
@profile
def my_func():
a = [1] * (10 ** 6)
b = [2] * (2 * 10 ** 7)
del b
return a
if __name__ == '__main__':
my_func()
⬆️Запустите скрипт с помощью python -m memory_profiler script.py, и вы увидите подробный отчет о использовании памяти. Красота, правда?
➡️line_profiler: когда нужна точность до строчки
Если memory_profiler — это швейцарский нож, то line_profiler — это микроскоп. Он покажет вам использование памяти построчно:
@profile
def my_func():
a = [1] * (10 ** 6)
b = [2] * (2 * 10 ** 7)
del b
return a
my_func()
⬆️Запустите с помощью kernprof -l -v script.py, и вы увидите, какая строчка сколько памяти съедает.
➡️objgraph: визуализируем объекты
objgraph — это как рентген для вашего кода. Он позволяет визуализировать объекты в памяти:
import objgraph
x = []
y = [x, [x], dict(x=x)]
objgraph.show_refs([y], filename='sample-graph.png')
⬆️Запустите это, и вы получите красивую картинку связей между объектами. Полезно для поиска утечек памяти!
➡️tracemalloc: встроенная мощь Python
А теперь — жемчужина в короне Python 3. tracemalloc — это встроенный модуль для отслеживания выделения памяти:
import tracemalloc
tracemalloc.start()
# ваш код здесь
snapshot = tracemalloc.take_snapshot()
top_stats = snapshot.statistics('lineno')
print("[ Топ 10 ]")
for stat in top_stats[:10]:
print(stat)
⬆️Это как рентген, МРТ и УЗИ в одном флаконе. Вы увидите, где именно происходят утечки памяти.
🐍Pythoner6 553
Запустите рекламу в телеграм-каналах через Яндекс Директ
Перфоманс-реклама в мессенджере продолжает работать:
• Таргетинг по тематикам и регионам
• Умный подбор каналов
• Гибкие модели оплаты (CPC и CPV)
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
6 553
Чем занимается аналитик данных — как выйти на 100 000₽+ в аналитике данных? 🎓
Приглашаем вас на открытый онлайн-урок Нового технологического университета, где вы увидите, как аналитики работают с данными в реальных задачах.
На занятии вы:
➡️ поймете, такой аналитик данных и чем он занимается
➡️ выполните две практические задачи на Python и SQL, даже если ни разу этого не делали
➡️ разберетесь, стоит ли идти в профессию сейчас, и что будет с рынком IT через 1-3-5 лет
➡️ поймете, как начать практику и зарабатывать уже через 6 месяцев
Урок подойдет, даже если у вас нет опыта в программировании или аналитике.
Спикер — Ева Панкратова, руководитель продуктовой аналитики в М2, ex-Райффайзенбанк.
Занятие пройдет онлайн, участие бесплатное. Сразу после регистрации вы получите бонусы: сборник идей для портфолио и памятку по основам SQL и Python
→ Регистрируйтесь: ссылка
6 553
Куда срочно перенести рабочие чаты?
Битрикс24 — ваш мессенджер для работы и бизнеса.
Личные и групповые чаты, видеозвонки и каналы в одном сервисе. Приглашайте коллег и внешние команды. Работает как привычный мессенджер.
Есть бесплатный тариф. Начните работать уже сейчас.
Битрикс24 — мессенджер для вашей компании.
Попробовать
#реклама 16+
bitrix24.ru
О рекламодателе
6 553
✈️В мире разработки программного обеспечения постоянно появляются новые тренды и подходы. Одним из таких трендов, набирающих популярность в последние годы, является функциональное программирование (ФП). Давайте разберемся, почему это происходит!
➡️Что такое функциональное программирование?
Функциональное программирование - это парадигма, в которой процесс вычисления рассматривается как вычисление математических функций. Основная идея заключается в том, чтобы избегать изменяемого состояния и мутаций данных.
➡️Почему ФП становится популярнее?
💬Упрощение параллельного программирования: Отсутствие побочных эффектов делает код более предсказуемым и легким для распараллеливания.
💬Меньше багов: Неизменяемость данных и чистые функции снижают вероятность ошибок, связанных с состоянием программы.
💬Более читаемый код: ФП поощряет написание небольших, специализированных функций, что улучшает читаемость и поддерживаемость кода.
💬Легкость тестирования: Чистые функции легче тестировать, так как их поведение зависит только от входных данных.
💬Производительность: Некоторые функциональные концепции, такие как ленивые вычисления, могут повысить производительность программ.
➡️Заключение
Функциональное программирование становится все популярнее благодаря своим преимуществам в читаемости, тестируемости и параллельном выполнении. Хотя оно может потребовать некоторого времени для освоения, инвестиции в изучение ФП могут значительно улучшить качество вашего кода и эффективность разработки.
🐍Pythoner
6 553
Бесплатный курс диджитал-дизайна
На бесплатном курсе ты сможешь:
✨попробовать себя в диджитал-дизайне: афиши, сайты, UX/UI-дизайн (дизайн интерфейсов)
✨сделать 3 проекта для портфолио с обратной связью от наставника
✨понять, как устроена работа дизайнера
✨получить доступ к закрытой базе материалов и пошаговым инструкциям по профессии
Попробовать
#реклама 18+
study.logomachine.ru
О рекламодателе
6 553
✈️Конструкция raise используется для генерации исключений. Когда в коде происходит что-то непредвиденное или некорректное — можно сгенерировать исключение командой raise.
➡️Основные моменты конструкции raise:
—Возбуждение существующих исключений: Вы можете использовать
raise без каких-либо параметров в блоке except, чтобы повторно вызвать текущее исключение.
—Создание собственных исключений: Вы можете создать или вызвать собственное исключение, создав объект исключения и передав его в raise.
➡️Пример использования raise:
def divide(a, b):
if b == 0:
raise ValueError("Деление на ноль невозможно.")
return a / b
try:
result = divide(10, 0)
except ValueError as e:
print(f"Ошибка: {e}")
⬆️В этом примере функция divide вызывает исключение ValueError, если второй аргумент равен нулю. В блоке try мы пытаемся выполнить деление, и если возникает ошибка, мы перехватываем её и выводим сообщение об ошибке.
🐍Pythoner6 553
➡️Функция all в Python
Функция all принимает на вход итерируемый объект (например, список) и возвращает True, если все его элементы являются истинными (или, если итерируемый объект пустой). Например:
numbers = [1, 2, 3, 4]
print(all(numbers)) # Выводит: True
⬆️В этом примере функция all вернула True, потому что все числа в списке numbers являются истинными (то есть, не равны нулю).
➡️Функция any в Python
Функция any, как и all, принимает на вход итерируемый объект, но возвращает True, если хоть один из его элементов является истинным. Если итерируемый объект пустой, функция any возвращает False. Например:
numbers = [0, 0, 1, 0]
print(any(numbers)) # Выводит: True
⬆️В этом случае функция any вернула True, потому что в списке numbers было хотя бы одно истинное значение (1).
➡️Использование all и any вместе
Функции all и any можно использовать вместе, чтобы проверить сложные условия. Например, мы можем проверить, все ли элементы в списке положительные и есть ли среди них хоть одно четное число:
numbers = [1, 2, 3, 4]
print(all(num > 0 for num in numbers) and any(num % 2 == 0 for num in numbers)) # Выводит: True
⬆️В этом примере функция all вернет True, если все числа в списке будут положительными, а функция any вернет True, если среди чисел будет хотя бы одно четное.
🐍 Pythoner6 553
Битва кейсов ИБ: 6 сценариев киберкошмара
7 апреля в поединке сойдутся эксперты «Солара».
По одну сторону — кейсы тестирований на проникновение, по другую — реальные атаки.
Чьи сценарии окажутся страшнее и критичнее — покажет битва.
Кому будет полезно:
Руководителям ИБ и ИБ-специалистам — получить данные, чтобы обосновать бюджет и построить стратегию защиты.
ИТ-руководителям и менеджерам — узнать о текущих рисках и понять, как спланировать ИБ-бюджет.
Руководителям компаний и риск-менеджерам — снизить цифровые и финансовые риски, защитить репутацию.
Приходите, чтобы на чужих ошибках закрыть пробелы в своей защите.
Зарегистрироваться
#реклама 16+
rt-solar.ru
О рекламодателе
6 553
Бесплатный курс: веб-дизайн, графика, интерфейсы
Научись создавать дизайн сайтов и приложений, инфографику для карточек на маркетплейсах и работать в Figma!
Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰
Этот курс для тебя, если ты:
✅ мечтаешь о новой профессии, но не знаешь, с чего начать;
✅ чувствуешь, что хочешь большего — свободы, самореализации, творчества;
✅ полный новичок и хочешь систему, а не хаос;
✅ хочешь начать зарабатывать удалённо.
Зарегистрироваться
#реклама 16+
ydaev.ru
О рекламодателе
6 553
✈️PyMuPDF — это мощная и невероятно быстрая библиотека для работы с PDF-документами прямо из Python.
➡️Она позволяет с легкостью извлекать текст, изображения и метаданные, конвертировать страницы в изображения и даже работать с аннотациями, обеспечивая при этом одну из самых высоких скоростей обработки в своем классе благодаря низкоуровневой оптимизации.
💡Идеально для автоматизации массовой обработки сканированных документов или отчетов — быстро извлекайте нужные данные без рутинных операций.
⛓ Документация
🐍Pythoner
6 553
Бесплатная конференция по PostgreSQL — уже 19 марта!
Регистрируйся на бесплатную конференцию по PostgreSQL — 19.03.2026.
В фокусе — практический опыт эксплуатации PostgreSQL, ее внутреннее устройство, производительность, взаимодействие с другими системами и реальные кейсы из highload-среды.
Мероприятие в формате онлайн+офлайн, 25+ тематических докладов, 3 потока.
Вот некоторые темы конференции:
✅ Опыт выноса OLAP-нагрузки на реплику
✅ Временные таблицы в PostgreSQL: почему это критично для платформы 1С и что можно улучшить
✅ Разделение Compute и Storage: архитектурный прорыв для PostgreSQL в облаке
✅ Highload «из ниоткуда»: когда узкое место — не в СУБД, а в клиентской архитектуре
✅ Работа с логами PostgreSQL
Регистрируйся, будет интересно!
И бесплатно!
Зарегистрироваться
#реклама 16+
pgbootcamp.ru
О рекламодателе
6 553
➡️Основные возможности GeoPandas
GeoPandas расширяет функциональность pandas, добавляя поддержку геометрических типов данных. Это позволяет эффективно работать с пространственными данными, выполнять геометрические операции и визуализировать результаты.
➡️Ключевые особенности:
💬Поддержка различных форматов геоданных (Shapefile, GeoJSON и др.)
💬Геометрические операции (пересечение, объединение, буферизация)
💬Пространственные соединения и агрегации
💬Интеграция с matplotlib для визуализации
➡️Простой пример:
import geopandas as gpd
# Чтение геоданных
gdf = gpd.read_file('path/to/your/geodata.shp')
# Базовые операции
print(gdf.head())
print(gdf.crs) # Система координат
➡️Практические примеры использования
Визуализация данных
import matplotlib.pyplot as plt
gdf.plot()
plt.title('Визуализация геоданных')
plt.show()
➡️Пространственные операции
Выполнение геометрических операций, таких как буферизация:
buffered = gdf.geometry.buffer(1) # Создание буфера в 1 единицу
➡️Пространственные соединения
Объединение двух наборов геоданных на основе их пространственных отношений:
cities = gpd.read_file('cities.shp')
countries = gpd.read_file('countries.shp')
cities_with_countries = gpd.sjoin(cities, countries, how="inner", predicate="within")
➡️Преимущества использования GeoPandas:
💬Эффективная обработка больших объемов геоданных
💬Интеграция с экосистемой Python для анализа данных
💬Упрощение сложных геопространственных операций
💬Возможность создания высококачественных картографических визуализаций
🐍Pythoner6 553
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
#реклама
yandex.ru
О рекламодателе
6 553
✈️Aiopandas — это легковесный патч для Pandas, который добавляет асинхронную поддержку для популярных методов обработки данных.
➡️Библиотека не блокирует event loop при операциях ввода-вывода и позволяет параллельно обрабатывать несколько DataFrame, что особенно полезно для веб-приложений на FastAPI или aiohttp.
💡Идеально для проектов, где нужно совмещать анализ данных с асинхронными операциями: работа с LLM-моделями, веб-скрапинг или асинхронное взаимодействие с базами данных.
🐍Pythoner
6 553
✈️В asyncio есть два способа запустить корутину:
- await — ждёт, пока задача завершится.
- loop.create_task() — запускает задачу в фоне, не блокируя выполнение остального кода.
➡️Если ты используешь await, выполнение кода останавливается, пока корутина не закончится. А вот create_task() добавляет её в event loop — и она работает параллельно с другими задачами.
➡️Пример:
import asyncio
async def task(name):
print(f"Начал {name}")
await asyncio.sleep(2)
print(f"Закончил {name}")
async def main():
t1 = asyncio.create_task(task("Задача 1"))
t2 = asyncio.create_task(task("Задача 2"))
print("Обе задачи запущены!")
await t1
await t2
asyncio.run(main())
обе задачи выполняются одновременно, а не по очереди.
💡Это важно, если ты пишешь сетевые приложения, обрабатываешь запросы или работаешь с I/O — именно create_task() делает Python по-настоящему асинхронным.
🐍Pythoner