Python Learning
35.4K subscribers
1.89K photos
8 videos
7 files
886 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Быстрый deque

deque предпочтительнее, чем обычный список, когда нужны более быстрые операции добавления и вытаскивания элементов с начала и конца контейнера.

deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания, у стандартного списка сложность по этим операциям O(n).

Для deque есть возможность использовать стандартные функции — sum, min, max и другие.
Что выведет код сверху?
Anonymous Quiz
18%
False False
33%
False True
23%
True false
26%
True True
Задаем ширину текста

Метод fill() модуля textwrap разбивает text по строкам так, что каждая строка имеет не более width(в нашем случае 24) символов длиной.

Метод возвращает одну строку, содержащую заключенный абзац.
Что выведет код сверху?
Anonymous Quiz
32%
6
32%
4
9%
2
27%
Error
Продолжаем работать с видео в Python

В этот раз мы познакомимся с еще двумя методами пакета moviepy.

Метод concatenate_videoclips объединяет несколько видео в один видеофайл.

Метод volumex позволяет нам изменить громкость в видеоролике. В нашем примере мы уменьшили громкость звука в 4 раза.
Форматируемые шаблоны строк

Модуль string из стандартной библиотеки содержит интересный класс Template, который позволяет вполне удобно создавать шаблоны строк для дальнейшего форматирования.

Такой способ появился ещё в Python 2.4, как замена %-форматированию, но популярным так и не стал. Поддерживает передачу значений по имени и использует $-синтаксис как в PHP.
Что выведет код сверху?
Anonymous Quiz
23%
-1
16%
4
21%
9
40%
Error
Узнаём кодировку текста

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

Пакет chardet как раз был создан для работы с кодировками. Его метод detect выдает предполагаемую кодировку с точностью от 0 до 1.

В примере на картинке мы сделали запрос к серверу, получили ответ, взяли его содержимое и проверили кодировку через метод detect.
Что выведет код сверху?
Anonymous Quiz
9%
[1, 2] [1, 2, 2] [1, 2, 2, 2]
37%
[1, 2] [1, 2, 2]
26%
[1, 2]
28%
Error
Оператор continue

Оператор continue в Python используется для перевода управления программой в начало цикла. Он пропускает оставшиеся строки кода внутри цикла и запускает следующую итерацию.

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

Обратите внимание на вывод приведенного выше кода, значение 2 пропущено, потому что мы предоставили условие if с помощью оператора continue в цикле for. Когда он соответствует заданному условию, тогда управление передается в начало цикла for, и оно пропускает значение 2 из кода.
Создание GIF анимации из кадров в Python

У нас есть 10 кадров с бегущим Гомером Симпсоном. Мы будем использовать их для создания одной целой гифки.

Получившуюся гифку вы можете найти ниже, а подробное руководство по созданию GIF Гомера Симпсона из его изображений здесь.

P.S. Реакции к постам включены.