Cement
Cement — это фреймворк для создания интерфейсов командной строки (CLI). Он помогает разработчикам быстро создавать мощные и удобные CLI-приложения.
#theory // Just Python
Cement — это фреймворк для создания интерфейсов командной строки (CLI). Он помогает разработчикам быстро создавать мощные и удобные CLI-приложения.
#theory // Just Python
pathlib вместо os.path — чище и удобнее работа с путями
Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.
Итог:
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.
#theory // Just Python
Работа с файлами через os.path часто громоздка. Вместо этого можно использовать модуль pathlib, который предоставляет объектно-ориентированный и читаемый API.
Итог:
pathlib — современная замена os.path, делающая работу с путями проще, нагляднее и безопаснее.
#theory // Just Python
Блокировка отвлекающих сайтов
Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.
Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.
Ссылка на код
#theory // Just Python
Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.
Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.
Ссылка на код
#theory // Just Python
contextlib.suppress() — элегантное игнорирование исключений
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
#theory // Just Python
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
#theory // Just Python
Использование defaultdict из модуля collections для работы с словарями
Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.
Использование defaultdict из модуля collections позволяет упростить код и избежать распространенных ошибок, связанных с отсутствующими ключами в словарях, делая процесс инициализации значений более автоматизированным и удобным.
#theory // Just Python
Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.
Использование defaultdict из модуля collections позволяет упростить код и избежать распространенных ошибок, связанных с отсутствующими ключами в словарях, делая процесс инициализации значений более автоматизированным и удобным.
#theory // Just Python
Использование метода для элегантного перебора списков — Enumerate
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
#theory // Just Python
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
#theory // Just Python
Используйте метод “Enumerate” Для элегантного перебора списков
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
#theory // Just Python
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
#theory // Just Python
Добавление вложенных списков
Метод
Итак, у нас был список
Простой список добавляется во вложенный список как отдельный одинарный элемент.
#theory // Just Python
Метод
append()
может работать и с вложенными списками, а не только с простыми.Итак, у нас был список
nested_list
, внутри которого уже были два вложенных списка [[1, 2], [3, 4]]
.Простой список добавляется во вложенный список как отдельный одинарный элемент.
#theory // Just Python
Добавление элемента только при выполнении условия
Вы можете добавить условие для использования
В этом примере, если
#theory // Just Python
Вы можете добавить условие для использования
append()
. Если условие выполняется или если условия нет, append()
добавляет элемент в конец списка. Всё как обычно.В этом примере, если
temp
больше 25, то метод append()
добавляет элементы в конец списка numbers
. В нашем случае, это 30 и 27.#theory // Just Python
Модуль threading
Модуль
#theory // Just Python
Модуль
threading
в Python позволяет создавать и управлять потоками выполнения, что даёт возможность программам эффективно обрабатывать задачи параллельно. Потоки позволяют выполнять несколько частей программы одновременно, что может улучшить отзывчивость и производительность.#theory // Just Python
dict.setdefault() — добавляем ключи без лишней проверки
Когда работаешь со словарями и нужно добавлять значения в списки по ключу, но есть более короткий способ — setdefault. Эта конструкция сразу создаёт список по ключу, если его нет, и добавляет значение — всё в одну строку.
Итог
setdefault() — отличный способ сократить код и избежать дублирования при работе со вложенными структурами данных.
#theory // Just Python
Когда работаешь со словарями и нужно добавлять значения в списки по ключу, но есть более короткий способ — setdefault. Эта конструкция сразу создаёт список по ключу, если его нет, и добавляет значение — всё в одну строку.
Итог
setdefault() — отличный способ сократить код и избежать дублирования при работе со вложенными структурами данных.
#theory // Just Python
self() для обращения объекта к себе
В данном случае
#theory // Just Python
В данном случае
self
позволяет перемножить элементы списка на 2.#theory // Just Python
Как выполнять загонку пользовательского ввода?
Сотрудничество
#theory // Just Python
Сотрудничество
map()
, input()
и list()
позволит поместить весь пользовательский текст в список. Это может пригодиться при расчете эмоциональной окраски текста, ведь слова предстоит потом возвращать к исходной форме.#theory // Just Python
Временное отключение вывода в консоль
Иногда сторонняя библиотека печатает слишком много в stdout, и вы хотите временно "заглушить" вывод. Вручную перенаправлять sys.stdout неудобно и небезопасно. Но есть элегантный способ.
Итог:
Контекстный менеджер suppress_stdout помогает временно отключать вывод в консоль — полезно для подавления спама от сторонних библиотек или во время тестов.
#theory // Just Python
Иногда сторонняя библиотека печатает слишком много в stdout, и вы хотите временно "заглушить" вывод. Вручную перенаправлять sys.stdout неудобно и небезопасно. Но есть элегантный способ.
Итог:
Контекстный менеджер suppress_stdout помогает временно отключать вывод в консоль — полезно для подавления спама от сторонних библиотек или во время тестов.
#theory // Just Python
Классика: Zen of Python от Тима Питерса
Zen of Python — 19 принципов программирования на Python, написанные разработчиком Тимом Питерсом. И единственная «пасхалка», которую официально указали в Руководстве.
#theory // Just Python
Zen of Python — 19 принципов программирования на Python, написанные разработчиком Тимом Питерсом. И единственная «пасхалка», которую официально указали в Руководстве.
#theory // Just Python
Мысли о любви
В дополнение к тому, каким должен быть код, Python любит порассуждать и о любви (и рассказать что любовь — это любовь, а что-то там еще).
#theory // Just Python
В дополнение к тому, каким должен быть код, Python любит порассуждать и о любви (и рассказать что любовь — это любовь, а что-то там еще).
#theory // Just Python
Управление сессиями
Во время сессии всем событиям, помимо прочих метаданных, присваивается и идентификатор. Это позволяет сохранять данные между запросами, которые растянуты по времени.
#theory // Just Python
Во время сессии всем событиям, помимо прочих метаданных, присваивается и идентификатор. Это позволяет сохранять данные между запросами, которые растянуты по времени.
#theory // Just Python
Как происходить валидация входных данных?
Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).
#theory // Just Python
Стоит фильтровать пользовательский ввод на наличие определенных символов. В разработке веб-приложений это особенно важно, потому что помогает предотвратить различные атаки, такие как SQL-инъекции и межсайтовый скриптинг (XSS).
#theory // Just Python
self() для обращения объекта к себе
В данном случае
#theory // Just Python
В данном случае
self
позволяет перемножить элементы списка на 2.#theory // Just Python
Тайм-трекер продуктивности
Благодаря этому проекту ты узнаешь, сколько времени ты реально работаешь, а сколько отдыхаешь. Вся информация о твоей активности сохраняется в специальном файле, на основе которого генерируется график продуктивности за день.
Работает он очень просто. Ты сам выбираешь, чем сейчас занимаешься: работой, отдыхом либо прокрастинацией. А в конце дня генерируется красивый график в виде круга.
Ссылка на код
#theory // Just Python
Благодаря этому проекту ты узнаешь, сколько времени ты реально работаешь, а сколько отдыхаешь. Вся информация о твоей активности сохраняется в специальном файле, на основе которого генерируется график продуктивности за день.
Работает он очень просто. Ты сам выбираешь, чем сейчас занимаешься: работой, отдыхом либо прокрастинацией. А в конце дня генерируется красивый график в виде круга.
Ссылка на код
#theory // Just Python