Just Python
11.2K subscribers
3.66K photos
11 videos
3.65K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Cement

Cement — это фреймворк для создания интерфейсов командной строки (CLI). Он помогает разработчикам быстро создавать мощные и удобные CLI-приложения.

#theory // Just Python
pathlib вместо os.path — чище и удобнее работа с путями

Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.

Итог:
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.

#theory // Just Python
Блокировка отвлекающих сайтов

Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.

Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.

Ссылка на код

#theory // Just Python
contextlib.suppress() — элегантное игнорирование исключений

Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().

Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.

#theory // Just Python
Использование defaultdict из модуля collections для работы с словарями

Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.

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

#theory // Just Python
Использование метода для элегантного перебора списков — Enumerate

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

Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.

Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.

#theory // Just Python
Используйте метод “Enumerate” Для элегантного перебора списков

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

Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.

Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.

#theory // Just Python
Добавление вложенных списков

Метод append() может работать и с вложенными списками, а не только с простыми.

Итак, у нас был список nested_list, внутри которого уже были два вложенных списка [[1, 2], [3, 4]].

Простой список добавляется во вложенный список как отдельный одинарный элемент.

#theory // Just Python
Добавление элемента только при выполнении условия

Вы можете добавить условие для использования append(). Если условие выполняется или если условия нет, append() добавляет элемент в конец списка. Всё как обычно.

В этом примере, если temp больше 25, то метод append() добавляет элементы в конец списка numbers. В нашем случае, это 30 и 27.

#theory // Just Python
Модуль threading

Модуль threading в Python позволяет создавать и управлять потоками выполнения, что даёт возможность программам эффективно обрабатывать задачи параллельно. Потоки позволяют выполнять несколько частей программы одновременно, что может улучшить отзывчивость и производительность.

#theory // Just Python
dict.setdefault() — добавляем ключи без лишней проверки

Когда работаешь со словарями и нужно добавлять значения в списки по ключу, но есть более короткий способ — setdefault. Эта конструкция сразу создаёт список по ключу, если его нет, и добавляет значение — всё в одну строку.

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

#theory // Just Python
self() для обращения объекта к себе

В данном случае self позволяет перемножить элементы списка на 2.

#theory // Just Python
Как выполнять загонку пользовательского ввода?

Сотрудничество map(), input() и list() позволит поместить весь пользовательский текст в список. Это может пригодиться при расчете эмоциональной окраски текста, ведь слова предстоит потом возвращать к исходной форме.

#theory // Just Python
Временное отключение вывода в консоль

Иногда сторонняя библиотека печатает слишком много в stdout, и вы хотите временно "заглушить" вывод. Вручную перенаправлять sys.stdout неудобно и небезопасно. Но есть элегантный способ.

Итог:
Контекстный менеджер suppress_stdout помогает временно отключать вывод в консоль — полезно для подавления спама от сторонних библиотек или во время тестов.

#theory // Just Python
Классика: Zen of Python от Тима Питерса

Zen of Python — 19 принципов программирования на Python, написанные разработчиком Тимом Питерсом. И единственная «пасхалка», которую официально указали в Руководстве.

#theory // Just Python
Мысли о любви

В дополнение к тому, каким должен быть код, Python любит порассуждать и о любви (и рассказать что любовь — это любовь, а что-то там еще).

#theory // Just Python
Управление сессиями

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

#theory // Just Python
Как происходить валидация входных данных?

Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).

#theory // Just Python
self() для обращения объекта к себе

В данном случае self позволяет перемножить элементы списка на 2.

#theory // Just Python
Тайм-трекер продуктивности

Благодаря этому проекту ты узнаешь, сколько времени ты реально работаешь, а сколько отдыхаешь. Вся информация о твоей активности сохраняется в специальном файле, на основе которого генерируется график продуктивности за день.

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

Ссылка на код

#theory // Just Python