Python обучающий
63.1K subscribers
807 photos
7 videos
405 links
Здесь есть всё, чтобы упростить изучение Python. Без воды и сложных терминов.

Сотрудничество: @bateman24, @justcage

Работаем с @Tgpodbor_official

Ссылка РНК: https://clck.ru/3Ghwjd
Download Telegram
Как быстро удалить дубликаты из списка? 🗑️

Дубликаты в списке могут мешать обработке данных. Новички могут пытаться удалять их вручную, но в Python есть простой способ — использовать множества (set).

Этот приём позволяет удалить дубликаты буквально в одну строку: list(set(list1)) преобразует список в множество (удаляя дубликаты), а затем обратно в список. 🚀

🎯 Итог
Работает за одну строку.
Убирает все повторяющиеся элементы.
Упрощает очистку данных! 🚀
Как быстро перевернуть строку? 🔄

Иногда нужно перевернуть строку, например, при анализе данных или для создания простых алгоритмов. Новички могут использовать циклы, но в Python есть удобный способ — срезы.

Этот приём позволяет перевернуть строку за одну строку: text[::-1] разворачивает строку с конца к началу. 🚀

🎯 Итог
Переворачивает строку за одну строку.
Удобно для всех строковых данных.
Быстро и элегантно! 🚀
Как объединить элементы списка в строку? 🔗

Иногда нужно превратить список строк в одну строку, например, для вывода текста или работы с файлами. Новички могут использовать циклы, но Python предлагает удобный способ — метод .join().

Этот приём позволяет объединить элементы за одну строку: ", ".join(list1) соединяет элементы списка через заданный разделитель. 🚀

🎯 Итог
Работает за одну строку.
Позволяет легко форматировать текст.
Удобно для работы со строками! 🚀
📁 Проверяем, существует ли файл

Часто в программах нужно проверить, существует ли файл перед его использованием. Новички могут пробовать открывать файл и ловить исключения, но Python предлагает более элегантный способ через os.path.

Функция os.path.exists() проверяет наличие файла или директории по заданному пути. Это безопасный и читаемый способ убедиться, что нужный файл действительно есть перед его использованием.

🎯 Итог
С помощью os.path.exists() можно легко и безопасно проверять существование файлов, избегая лишних ошибок при открытии несуществующих путей.
☁️ Работаем с переменными окружения в Python

Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через os.environ.

Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).

🎯 Итог
Используйте os.environ.get() для безопасного доступа к переменным окружения — это защищает ваш код от утечек данных и упрощает настройку.
📁 Получаем список файлов в папке

При работе с файлами часто нужно получить список всех файлов в директории. Новички могут пробовать вручную проверять содержимое папки, но Python предлагает простой способ — с помощью модуля os.

Модуль os позволяет получить список файлов и папок в директории, а также фильтровать только нужные элементы.

🎯 Итог
Модуль os позволяет удобно получить список всех файлов в папке. Используйте os.listdir() вместе с os.path.isfile() для фильтрации только файлов.
⏱️ Измеряем время выполнения кода

Иногда нужно узнать, сколько времени занимает выполнение части кода — например, для оценки производительности. Новички могут не знать, как это сделать просто, но в Python есть встроенный модуль time.

С помощью time.time() можно получить текущую временную метку в секундах и легко измерить длительность выполнения любого блока.

🎯 Итог
Модуль time позволяет просто измерить время выполнения кода. Используйте time.time() до и после нужного блока и вычтите значения.
Получаем размер файла в байтах

Иногда нужно узнать, сколько весит файл — например, перед загрузкой или отправкой по сети. Новички могут не знать, как это сделать быстро и просто.

Python предоставляет удобный способ с помощью функции os.path.getsize().

🎯 Итог
Используйте os.path.getsize(path), чтобы легко получить размер файла в байтах. Удобно для логирования, проверки ограничений и статистики.
Получаем количество строк без загрузки всех данных

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

🎯 Итог
Вместо перебора всех записей в Python используй SQL-запрос COUNT(*). Это быстрый и надёжный способ узнать количество строк, особенно на больших таблицах.
Используем контекстный менеджер для безопасной работы с БД

Многие новички забывают закрывать соединения с базой данных, что может привести к утечкам ресурсов и блокировкам. Контекстный менеджер (with) упрощает работу с базой и автоматически закрывает соединение даже при ошибках.

🎯 Итог
Используй with при работе с базой данных — это гарантирует автоматическое закрытие соединения и делает код надёжнее и чище.
⚙️ Использование __slots__ для экономии памяти

По умолчанию Python хранит атрибуты объектов в словаре (__dict__), что удобно, но затратно по памяти. Если вы создаёте множество однотипных объектов, можно использовать slots, чтобы ограничить список допустимых атрибутов и сократить потребление памяти.
Проверка кода теперь на AI

На конференции ЦИПР-2025 СберТех представил GigaCode-агента — новый AI-инструмент для рецензирования кода. Он автоматически анализирует изменения в коде, ищет ошибки и уязвимости, а еще дает советы по оптимизации. Это уже не просто AI-помощник — это полноценный участник команды!

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

Инструмент доступен бесплатно всем пользователям GitVerse, от одиночных разработчиков до команд.

Испытайте агента в деле по ссылке и отдайте скучную рутину AI!
🧠 Умное логгирование исключений с exc_info=True

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

🎯 Итог
Добавляй exc_info=True к логгированию исключений — получишь полный стек и не потеряешь важные детали при отладке.
🧠 Переопределение стандартного поведения функций через декоратор

Иногда хочется обернуть функцию, чтобы автоматически логировать её вызов или измерять время исполнения. Это удобно делать через декоратор.

🎯 Итог
Декораторы позволяют добавлять поведение к функциям, не изменяя их напрямую. Это мощный инструмент для логирования, кэширования, авторизации и прочих нужд.
Общий сбор питонистов на митапе ЮMoney ™️

Питоняшки — бесплатный митап ЮMoney для Python-разработчиков.

3 июля, в четверг, в 19:00 (мск) — приходите на митап в Санкт-Петербурге или подключайтесь онлайн.

О чём будут доклады?

🟣 Это не те метрики, что вы ищете. Разберёмся, почему стандартного экспортёра может не хватать, и как написать свой на Python.
🟣 Кодогенерация: как компьютеры учатся писать код за нас. Поговорим про прошлое, настоящее и будущее кодогенерации в разных языках программирования.
🟣 Ruff: как не положить всё, переходя на новые правила? Поговорим про линтеры, форматтеры и подводные камни при переходе на Ruff.
🟣 Секреты успеха змеи в мире пауков. Обсудим, как мы применяли scrapy и playwright в ЮMoney, чтобы создать сервис модерации сайтов.

Зарегистрируйтесь, чтобы принять участие. Все подробности — на сайте митапа Питоняшки 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🗂 Быстрое создание вложенных словарей с defaultdict

Если ты работаешь с вложенными структурами типа dict of dict, можно избавиться от лишних проверок на наличие ключей, используя collections.defaultdict.

📌 Это особенно удобно при подсчёте данных или построении динамических структур.

🎯 Итог
С помощью defaultdict можно упростить работу с вложенными словарями и избежать лишней проверки наличия ключей. Идеально подходит для счётчиков и агрегаций.
🎯 Набор на бесплатное обучение в 2025 году продолжается!

Если вы хотите сменить профессию или получить новые навыки — сейчас самое время.

Участие в проекте бесплатное, но количество мест ограничено❗️

В проекте более 200 тыс. человек уже прошли обучение и улучшили свои компетенции 🔥

Обучение по востребованным направлениям, удобный формат и реальный шанс изменить карьеру — всё это ждёт вас в проекте.

Присоединяйтесь,

➡️ Подпишитесь на канал!

Реклама ООО АДИ Групп ИНН 7017283529
🧹 Удаление дубликатов при сохранении порядка

Обычно set() убирает дубликаты, но не сохраняет порядок.

dict.fromkeys() создаёт словарь, где ключи — элементы списка (они уникальны), и при этом сохраняет порядок добавления (с Python 3.7+).

🎯 Итог
Чтобы быстро убрать дубликаты и сохранить порядок, используй list(dict.fromkeys(...)). Эффективно и элегантно.
Что общего у Netflix, Google и Spotify

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

Познакомиться с этим универсальным языком можно на бесплатном курсе Нетологии. За 5 занятий вы не просто изучите теорию, а создадите 2 рабочих проекта.

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

Помощь в практике и ответы на вопросы сможете получить в чате с экспертами и однокурсниками.

Записывайтесь

Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5x38SuW
🧵 Распаковка словаря в аргументы функции

Иногда нужно передать значения из словаря в функцию — можно сделать это красиво и лаконично.

**data автоматически распакует ключи словаря как имена аргументов, а значения — как аргументы функции.

🎯 Итог
Когда у тебя есть словарь с нужными данными, не передавай каждый параметр вручную — просто используй **. Это сокращает код и повышает читаемость.