Блокировка отвлекающих сайтов
Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.
Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.
Ссылка на код
Разъяснивший Python
Данное приложение поможет тебе сконцентрироваться на важных задачах. Ты не сможешь заходить на “вредные” сайты: YouTube, TikTok, ВКонтакте и прочие.
Работает это очень просто. Скрипт редактирует hosts файл операционной системы, подменяя домены отвлекающих сайтов на 127.0.0.1 (локальный адрес). В результате браузер не может достучаться до них.
Ссылка на код
Разъяснивший Python
contextlib.suppress() — элегантное игнорирование исключений
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
Разъяснивший Python
Иногда нужно просто "молча" игнорировать ошибку — например, если файл может не существовать. Вместо try/except, можно использовать contextlib.suppress().
Итог:
contextlib.suppress() — читаемый и питоничный способ безопасно игнорировать ожидаемые ошибки без лишнего кода.
Разъяснивший Python
Сравнение Bash и Python при написании скпритов в Linux
Командный интерпретатор Bash и язык программирования Python — два ключевых инструмента в работе с Linux-системами. В статье сравниваются их возможности для скриптов и системных задач.
Читать...
Разъяснивший Python
Командный интерпретатор Bash и язык программирования Python — два ключевых инструмента в работе с Linux-системами. В статье сравниваются их возможности для скриптов и системных задач.
Читать...
Разъяснивший Python
Хабр
Сравнение Bash и Python при написании скриптов в Linux
Sh (от англ. shell) является обязательным командным интерпретатором для UNIX-совместимых систем по стандарту POSIX. Однако по возможностям он ограничен, поэтому зачастую вместо него используются более...
Использование defaultdict из модуля collections для работы с словарями
Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.
Использование defaultdict из модуля collections позволяет упростить код и избежать распространенных ошибок, связанных с отсутствующими ключами в словарях, делая процесс инициализации значений более автоматизированным и удобным.
Разъяснивший Python
Модуль collections в Python включает в себя класс defaultdict, который позволяет создавать словари с значениями по умолчанию. Это особенно полезно, когда нужно инициализировать значения в словаре при первой встрече ключа, избавляясь от необходимости проверять наличие ключа и инициализировать его вручную.
Использование defaultdict из модуля collections позволяет упростить код и избежать распространенных ошибок, связанных с отсутствующими ключами в словарях, делая процесс инициализации значений более автоматизированным и удобным.
Разъяснивший Python
Что такое list comprehension в Python и как он работает?
List comprehension — это лаконичный способ создания списков в Python. С его помощью можно быстро преобразовать или отфильтровать элементы из другого итерируемого объекта, написав компактный и читаемый код.
➡️ Пример:
Подробнее тут
Разъяснивший Python
List comprehension — это лаконичный способ создания списков в Python. С его помощью можно быстро преобразовать или отфильтровать элементы из другого итерируемого объекта, написав компактный и читаемый код.
➡️ Пример:
# Создание списка квадратов чисел от 0 до 9
squares = [x**2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
# Фильтрация чётных чисел
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]
🗣 List comprehension позволяет комбинировать создание и обработку списков в одну строку, что делает код более компактным и удобным для чтения. Однако его стоит использовать разумно, чтобы не усложнять логику.
Подробнее тут
Разъяснивший Python
Нейросети на PyTorch: Индексирование и срезы тензоров
Продолжаем делиться циклом видео, благодаря которому ты научишься работать с нейросетями. В этот раз ты узнаешь, как обращаться к отдельным элементам тензоров.
👀Смотреть видео
Разъяснивший Python
Продолжаем делиться циклом видео, благодаря которому ты научишься работать с нейросетями. В этот раз ты узнаешь, как обращаться к отдельным элементам тензоров.
👀Смотреть видео
Разъяснивший Python
YouTube
#5. Тензоры. Индексирование и срезы | Нейросети на PyTorch
Практический курс по НС: https://stepik.org/a/227582
Телеграм-канал: https://t.me/machine_learning_selfedu
Инфо-сайт: https://proproprogs.ru/nn_pytorch
PyTorch: https://pytorch.org/tutorials/
Обращение к отдельным элементам тензоров. Срезы и списочная индексация.
Телеграм-канал: https://t.me/machine_learning_selfedu
Инфо-сайт: https://proproprogs.ru/nn_pytorch
PyTorch: https://pytorch.org/tutorials/
Обращение к отдельным элементам тензоров. Срезы и списочная индексация.
Использование метода для элегантного перебора списков — Enumerate
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
Разъяснивший Python
В некоторых случаях нам необходимо использовать как индекс, так и значения элементов в списке при его повторении.
Мы можем написать подобную логику на Python, но my_list[i] кажется немного неуместным, особенно когда нам нужно вызывать значение элемента много раз.
Реальный питоновский способ сделать это - использовать функцию enumerate() для получения как индекса, так и значений напрямую.
Разъяснивший Python
💩2
IPython
IPython — это ядро блокнотов Jupyter.
Разъяснивший Python
IPython — это ядро блокнотов Jupyter.
Jupyter Notebook
— это веб-приложение с открытым кодом, которое позволяет создавать и обмениваться документами с живым кодом, уравнениями, визуализациями и текстовыми описаниями.Разъяснивший Python
Добавление вложенных списков
Метод
Итак, у нас был список
Простой список добавляется во вложенный список как отдельный одинарный элемент.
Разъяснивший Python
Метод
append()
может работать и с вложенными списками, а не только с простыми.Итак, у нас был список
nested_list
, внутри которого уже были два вложенных списка [[1, 2], [3, 4]]
.Простой список добавляется во вложенный список как отдельный одинарный элемент.
Разъяснивший Python
👏2
Кастомизация Django Admin. Часть 1: Структура шаблонов
Статья открывает цикл о кастомизации Django админки, начиная с основ. Рассматриваются ключевые шаблоны и механизм их поиска, чтобы упростить понимание структуры и облегчить работу с админкой.
Читать...
Разъяснивший Python
Статья открывает цикл о кастомизации Django админки, начиная с основ. Рассматриваются ключевые шаблоны и механизм их поиска, чтобы упростить понимание структуры и облегчить работу с админкой.
Читать...
Разъяснивший Python
Хабр
Кастомизация Django Admin. Часть 1: Структура шаблонов
Давайте просто признаемся друг другу... Все мы иногда это делаем. Все мы иногда кастомизируем Django админку. Без четкого понимания того, как построены шаблоны и используемые классы любая попытка...
dict.setdefault() — добавляем ключи без лишней проверки
Когда работаешь со словарями и нужно добавлять значения в списки по ключу, но есть более короткий способ — setdefault. Эта конструкция сразу создаёт список по ключу, если его нет, и добавляет значение — всё в одну строку.
Итог:
setdefault() — отличный способ сократить код и избежать дублирования при работе со вложенными структурами данных.
Разъяснивший Python
Когда работаешь со словарями и нужно добавлять значения в списки по ключу, но есть более короткий способ — setdefault. Эта конструкция сразу создаёт список по ключу, если его нет, и добавляет значение — всё в одну строку.
Итог:
setdefault() — отличный способ сократить код и избежать дублирования при работе со вложенными структурами данных.
Разъяснивший Python
😐3
Временное отключение вывода в консоль
Иногда сторонняя библиотека печатает слишком много в stdout, и вы хотите временно "заглушить" вывод. Вручную перенаправлять sys.stdout неудобно и небезопасно. Но есть элегантный способ.
Итог:
Контекстный менеджер suppress_stdout помогает временно отключать вывод в консоль — полезно для подавления спама от сторонних библиотек или во время тестов.
Разъяснивший Python
Иногда сторонняя библиотека печатает слишком много в stdout, и вы хотите временно "заглушить" вывод. Вручную перенаправлять sys.stdout неудобно и небезопасно. Но есть элегантный способ.
Итог:
Контекстный менеджер suppress_stdout помогает временно отключать вывод в консоль — полезно для подавления спама от сторонних библиотек или во время тестов.
Разъяснивший Python
self() для обращения объекта к себе
В данном случае
Разъяснивший Python
В данном случае
self
позволяет перемножить элементы списка на 2.Разъяснивший Python
👎2
Как выполнять загонку пользовательского ввода?
Сотрудничество
Разъяснивший Python
Сотрудничество
map()
, input()
и list()
позволит поместить весь пользовательский текст в список. Это может пригодиться при расчете эмоциональной окраски текста, ведь слова предстоит потом возвращать к исходной форме.Разъяснивший Python
👍1
Создаем интерактивную симуляцию лесного пожара на Python с использованием клеточных автоматов
В статье рассказывают, как моделировать лесные пожары на компьютере: понять хаос огня, предсказать его путь и даже экспериментировать с распространением — без реального риска.
Читать...
Разъяснивший Python
В статье рассказывают, как моделировать лесные пожары на компьютере: понять хаос огня, предсказать его путь и даже экспериментировать с распространением — без реального риска.
Читать...
Разъяснивший Python
Хабр
Создаем интерактивную симуляцию лесного пожара на Python с использованием клеточных автоматов
Лесные пожары – явление столь же древнее, сколь и сама жизнь на суше. Величественные и одновременно ужасающие, они способны за считанные часы превратить гектары зеленого массива в выжженную пустыню,...
Тайм-трекер продуктивности
Благодаря этому проекту ты узнаешь, сколько времени ты реально работаешь, а сколько отдыхаешь. Вся информация о твоей активности сохраняется в специальном файле, на основе которого генерируется график продуктивности за день.
Работает он очень просто. Ты сам выбираешь, чем сейчас занимаешься: работой, отдыхом либо прокрастинацией. А в конце дня генерируется красивый график в виде круга.
Ссылка на код
Разъяснивший Python
Благодаря этому проекту ты узнаешь, сколько времени ты реально работаешь, а сколько отдыхаешь. Вся информация о твоей активности сохраняется в специальном файле, на основе которого генерируется график продуктивности за день.
Работает он очень просто. Ты сам выбираешь, чем сейчас занимаешься: работой, отдыхом либо прокрастинацией. А в конце дня генерируется красивый график в виде круга.
Ссылка на код
Разъяснивший Python
❤1
Динамический импорт модулей по имени
Иногда нужно импортировать модуль по его имени, известному только во время выполнения (например, загружать плагины). Вместо importlib.import_module можно сделать это более гибко и кратко.
Итог:
С помощью importlib.import_module и getattr можно динамически загружать модули и функции по строковому имени — удобно для создания плагин-систем и расширяемых приложений.
Разъяснивший Python
Иногда нужно импортировать модуль по его имени, известному только во время выполнения (например, загружать плагины). Вместо importlib.import_module можно сделать это более гибко и кратко.
Итог:
С помощью importlib.import_module и getattr можно динамически загружать модули и функции по строковому имени — удобно для создания плагин-систем и расширяемых приложений.
Разъяснивший Python
Как написать свой Python-модуль
Написание Python-модуля может быть полезным, когда нужно повторно использовать код в разных проектах или хочется создать библиотеку собственных функций и классов для облегчения разработки. В этой статье автор подробно разбирает как написать свой модуль на Python.
Читать...
Разъяснивший Python
Написание Python-модуля может быть полезным, когда нужно повторно использовать код в разных проектах или хочется создать библиотеку собственных функций и классов для облегчения разработки. В этой статье автор подробно разбирает как написать свой модуль на Python.
Читать...
Разъяснивший Python
Tproger
Как написать свой Python-модуль / Tproger
Если вы выделили повторяющийся функционал в отдельный набор функций и хотите стабилизировать код для быстрого подключения, статья для вас.
👍1
Управление сессиями
Во время сессии всем событиям, помимо прочих метаданных, присваивается и идентификатор. Это позволяет сохранять данные между запросами, которые растянуты по времени.
Разъяснивший Python
Во время сессии всем событиям, помимо прочих метаданных, присваивается и идентификатор. Это позволяет сохранять данные между запросами, которые растянуты по времени.
Разъяснивший Python
Безопасный доступ к переменным окружения
Часто приходится использовать переменные окружения (например, токены или конфиги), но прямой доступ через os.environ может выбросить KeyError, если переменная не задана.
Итог:
Используй os.getenv вместо os.environ[], чтобы избежать исключений при отсутствии переменной. Это безопаснее и позволяет задавать значения по умолчанию.
Разъяснивший Python
Часто приходится использовать переменные окружения (например, токены или конфиги), но прямой доступ через os.environ может выбросить KeyError, если переменная не задана.
Итог:
Используй os.getenv вместо os.environ[], чтобы избежать исключений при отсутствии переменной. Это безопаснее и позволяет задавать значения по умолчанию.
Разъяснивший Python