Python School
82.5K subscribers
2.4K photos
7 videos
568 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
加入频道
freezegun

Библиотека поможет, если нужно протестировать работу программы в конкретный период. Она «замораживает» параметры даты и времени на определенной точке, нужной программисту. Это может быть полезно, например, если тестируемая программа должна работать по-разному в зависимости от времени суток или дня недели.
Библиотека Celery

Помогает правильно распределить множество задач в больших проектах, расставить приоритеты и выполнить их в оптимальной последовательности. Часто используется в backend-разработке, например с фреймворком Django.
funcy

Это набор утилит для практического применения, набор конструкций, которые упрощают код. Он облегчает написание программ и работу с простыми, но однообразными действиями. Например, Funcy упрощает повседневные задачи разработчика, например помогает быстро просмотреть структуру данных или модифицировать функцию.
tqdm

Библиотека, полезная для написания скриптов. Она генерирует прогресс-бары, которые показывают продвижение по коду и оставшееся время его выполнения. Программа, которая долго работает, — «черный ящик» для разработчика: он не знает, зависла она или нет, на каком этапе выполнения сейчас находится. Tqdm помогает легко и быстро отслеживать ее состояние и получать больше информации. Информация о выполнении программы будет выводиться в консоль в удобном для разработчика виде.
re.match()

re.match() — поиск вхождения шаблона в начало строки. В качестве аргументов требуется передать сначала шаблон, а потом строку для проверки.
re.findall()

re.findall() — поиск всех вхождений шаблона в любом месте строки.
re.search()

re.search() — ищет первое вхождение шаблона в любом месте строки, возвращая объект match, если в строке есть другие подходящие фрагменты, то они будут проигнорированы. У функции re.search() есть дополнительные функции, упрощающие поиск.
re.sub()

re.sub() — заменяет фрагменты в соответствии с шаблоном.
re.split()

re.split() — разделяет строку по шаблону, количество разделений задается числом.
Подсчет количества элементов

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

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

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

Чтобы увеличить количество строк, можно использовать звездочку *. Но этот лайфхак применим и к спискам.
Списковое включение (быстрый способ)

Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла.
Преобразование изменяемых данных в неизменяемые

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

Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными.
Применение функции ко всем элементам в списке

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

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

Этот простейший “трюк” поможет рассчитать время, необходимое для выполнения программы. Используя time-модуль, вы можете точно узнать, сколько времени требуется программе для выполнения кода.
Возврат нескольких значений из функции

Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать.
Обратный список и строка

Скорее всего, вы используете обратную функцию для инверсионной записи списков или строк. Но знаете ли вы, как осуществить инверсию более эффективным способом?
Распечатывание ежемесячного календаря

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

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