Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
#Вопросы_с_собеседования
Как перезагрузить импортированный модуль?

Чтобы перезагрузить импортированный модуль в Python, вы можете использовать функцию reload() из модуля importlib.

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

🔗 Python tricks
Модульное программирование

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

🔗 Python tricks
Библиотека yt-dlp

Библиотека yt-dlp — это реализация YouTube-DL на языке Python. Она позволяет скачивать видео с YouTube и других видеохостингов, а также получать информацию о видео.

Чтобы установить библиотеку yt-dlp, выполните следующую команду в терминале:

pip install yt-dlp


🔗 Python tricks
Превращение списка в одну строку

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

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

🔗 Python tricks
Get Method для словаря

Большинство разработчиков используют скобки, чтобы получить значение из словаря. Но сейчас рекомендуется использовать Get method.

При использовании метода скобок выдается ошибка, если ключ отсутствует. С помощью Get method вы получите “None” .

🔗 Python tricks
Транспонирование 2d-массива

Этот лайфхак покажет, как выполнить транспонирование 2d-массива с помощью метода zip.

🔗 Python tricks
Цикл for/else в Python.

Цикл for/else является особенностью Python, которая позволяет выполнить блок кода из else, если цикл for завершается естественным образом (без прерывания с помощью оператора break).

🔗 Python tricks
Необязательные аргументы

Мы можем передавать необязательные аргументы через присвоение стандартного значения аргументу

🔗 Python tricks
float

Метод float() возвращает число с плавающей точкой из числа или строки. Метод float() возвращает: эквивалентное число с плавающей точкой, если передан аргумент; 0.0, если аргументы не переданы; исключение OverflowError, если аргумент находится за пределами диапазона Python с плавающей точкой.

🔗 Python tricks
Отрицательный индекс

Если вы хотите начать с последнего знака, то воспользуйтесь отрицательным индексом.

🔗 Python tricks
Профилирование и статистика кода

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

🔗 Python tricks
Pyro4

Pyro4 — это библиотека Python для удаленного вызова процедур (RPC). Она позволяет создавать удаленные объекты, которые можно вызывать из других процессов или компьютеров.

Чтобы использовать Pyro4, необходимо сначала установить библиотеку. Это можно сделать с помощью менеджера пакетов pip:

pip install Pyro4


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

🔗 Python tricks
Распаковка элементов массива

Распаковка
(unpacking, также называемая Деструктуризация) представляет разложение коллекции (кортежа, списка и т.д.) на отдельные значения.

Так, как и многие языки программирования, Python поддерживает концепцию множественного присваивания.

🔗 Python tricks
setattr

Функция setattr() устанавливает значение атрибута объекта. Если атрибут не найден, setattr() создает новый атрибут и присваивает ему значение. Однако это возможно только в том случае, если объект реализует метод dict(). Ты можешь проверить все атрибуты объекта, используя функцию dir().

🔗 Python tricks
NumPy

Предназначена для работы с числами и сложной математикой. В первую очередь она облегчает расчеты с матрицами и многомерными массивами — именно в таком виде мы передаем любые данные на вход алгоритмам и моделям в методах глубокого обучения. Поэтому NumPy входит в базовый стек библиотек для Machine Learning.

🔗 Python tricks
Обмен значений переменных

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

🔗 Python tricks
Faker

Для тестирования функциональности приложения часто нужно заполнять его данными, например о пользователях. Использовать реальные персональные данные в такой ситуации некорректно и небезопасно. Поэтому лучше воспользоваться Faker — библиотекой, которая помогает сгенерировать большое количество ненастоящей информации. Это могут быть ФИО, телефоны, даты рождения, данные карточек и многое другое.

🔗 Python tricks
Реверс

В Python есть встроенная функция reversed() , которая возвращает развернутый итератор. Однако, эта функция возвращает итератор, а не строку. Поэтому результат функции reversed() нужно преобразовать обратно в строку с помощью функции join()

🔗 Python tricks
dict.update

Метод update() обновляет словарь элементами из другого объекта словаря или из итерации пар ключ/значение. Если update() вызывается без передачи параметров, словарь остается неизменным.

🔗 Python tricks
Очистка элементов в последовательности

Иногда возникает необходимость в удалении ненужных объектов последовательности. Для этого используют itertools, а именно метод compress.

Первым аргументом передаётся контейнер, к примеру список. Вторым аргументом — логические значения, соответствующие элементам в контейнере.

Если логическое значение равно True или 1, то элемент остаётся в последовательности, иначе — удаляется из нее.

🔗 Python tricks