Быстрый deque
Для
deque предпочтительнее, чем обычный список, когда нужны более быстрые операции добавления и вытаскивания элементов с начала и конца контейнера.deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания, у стандартного списка сложность по этим операциям O(n).Для
deque есть возможность использовать стандартные функции — sum, min, max и другие.Случайные числа с модулем random
Иногда возникает необходимость быстро получить случайное число из заданного диапазона, либо из массива. Существует встроенный модуль random (установка не требуется), имеющий множество функций для работы со случайными числами.
В первом примере мы получаем случайное число от 1 до 10, при этом последняя переданная единица — шаг, т. е. если бы мы передали не её, а например двойку, случайное число бы искалось из диапазона 1, 3, 5 и т. д.
С документацией можно ознакомиться по ссылке.
Иногда возникает необходимость быстро получить случайное число из заданного диапазона, либо из массива. Существует встроенный модуль random (установка не требуется), имеющий множество функций для работы со случайными числами.
В первом примере мы получаем случайное число от 1 до 10, при этом последняя переданная единица — шаг, т. е. если бы мы передали не её, а например двойку, случайное число бы искалось из диапазона 1, 3, 5 и т. д.
С документацией можно ознакомиться по ссылке.
👍3
Редактор видео
Все еще в поиске крутого видео редактора? Зачем что-то искать, когда есть Python и замечательная библиотека MoviePy :)
За счет MoviePy вы можете перевернуть видео, можете его обрезать, можете изменить количество FPS и можете выполнить ещё много других действий.
Мы создадим программу, что будет принимать видео и отделять от него звук, который будем сохранять в качестве отдельного файла.
Все еще в поиске крутого видео редактора? Зачем что-то искать, когда есть Python и замечательная библиотека MoviePy :)
За счет MoviePy вы можете перевернуть видео, можете его обрезать, можете изменить количество FPS и можете выполнить ещё много других действий.
Мы создадим программу, что будет принимать видео и отделять от него звук, который будем сохранять в качестве отдельного файла.
👍5😁1
Отступы
«Должен быть один – и желательно только один – очевидный способ сделать что-либо», — Дзен Python.
Отступы чрезвычайно важны в Python. Уровень отступа строк кода в Python определяет, как группируются операторы.
Оператор print с отступом сообщает Python, что он должен выполняться только в том случае, если if возвращает True. Тот же отступ применяется для указания Python, какой код выполнять при вызове функции или какой код принадлежит данному классу.
«Должен быть один – и желательно только один – очевидный способ сделать что-либо», — Дзен Python.
Отступы чрезвычайно важны в Python. Уровень отступа строк кода в Python определяет, как группируются операторы.
Оператор print с отступом сообщает Python, что он должен выполняться только в том случае, если if возвращает True. Тот же отступ применяется для указания Python, какой код выполнять при вызове функции или какой код принадлежит данному классу.
Сокращение ссылок
Скорее всего, хоть раз, но вы сталкивались с сервисами по сокращению ссылок. Даже, если вы сами не создавали сокращенную ссылку, то хотя бы видели таковые в описаниях к различным роликам или на сайтах.
Создать такую ссылку можно всего за три строчки кода, при помощи использования библиотеки PyShorteners. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.
Установка библиотеки - pip install pyshorteners.
Скорее всего, хоть раз, но вы сталкивались с сервисами по сокращению ссылок. Даже, если вы сами не создавали сокращенную ссылку, то хотя бы видели таковые в описаниях к различным роликам или на сайтах.
Создать такую ссылку можно всего за три строчки кода, при помощи использования библиотеки PyShorteners. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.
Установка библиотеки - pip install pyshorteners.
👍3❤1
Копирование объектов
При стандартном присваивании обычно новый объект не создается, а лишь копируется ссылка на уже имеющийся. Если использовать
Если же использовать
При стандартном присваивании обычно новый объект не создается, а лишь копируется ссылка на уже имеющийся. Если использовать
copy.copy(), произойдет поверхностное копирование, т.е. создастся новый объект, но его ссылки на другие объекты будут те же.Если же использовать
copy.deepcopy(), то получатся "настоящие" копии объекта и всех его ссылок.👍4
Распаковка массива
Иногда возникает необходимость красиво и быстро вывести содержимое массива (например, в задачах на хакатонах). Для этого поможет оператор
Причем тут оператор * — не просто синтаксический сахар, так как без фиксированной длины списка было бы невозможно передать элементы списка как отдельные аргументы.
Иногда возникает необходимость красиво и быстро вывести содержимое массива (например, в задачах на хакатонах). Для этого поможет оператор
*.Причем тут оператор * — не просто синтаксический сахар, так как без фиксированной длины списка было бы невозможно передать элементы списка как отдельные аргументы.
Удаление специальных символов при помощи join() и filter()
Давайте воспользуемся методом соединения join(). Откройте тот же файл и инициализируйте строку с обычными и специальными символами. Первоначальная строка будет выводиться на экран первой.
Далее мы используем метод join() с функцией filter() для строковой переменной v1, чтобы отфильтровать символы. В данном случае для сбора только обычных символов из переменной v1 используется метод isalnum().
Давайте воспользуемся методом соединения join(). Откройте тот же файл и инициализируйте строку с обычными и специальными символами. Первоначальная строка будет выводиться на экран первой.
Далее мы используем метод join() с функцией filter() для строковой переменной v1, чтобы отфильтровать символы. В данном случае для сбора только обычных символов из переменной v1 используется метод isalnum().