Python Learning
34.6K subscribers
1.91K photos
8 videos
7 files
913 links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
Библиотека mimesis

Часто для проверки работы алгоритмов нужно собрать достаточно данных, чтобы на них тестировать. Создание данных вручную занимает очень много времени, для избавления от этой рутины может помочь модуль mimesis, который умеет генерировать рандомные данные по нескольким критериям. Устанавливается он просто выполнив: pip install mimesis.

В примере выше мы генерируем адресные данные.
👍1
Библиотека mimesis(продолжение см пост выше)

В примере выше мы генерируем данные, связанные со временем/датой.

Большое преимущество этого модуля состоит в том, что данные возвращаются в формате datetime объекта.
Что выведет код сверху?
Anonymous Quiz
28%
0 2 4
19%
1 3 5
24%
1 3
8%
0
4%
4
16%
Error
Списковое включение (быстрый способ)

Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный выше пример кода, чтобы понять, как это работает.
Сегодня языку Python исполняется 31 год! 🎉 🎉 🎉 🎉
Поздравим легенду в комментариях
Превращаем PDF в текст

Думаю, все периодически работают с PDF-документами. И зачастую это ручная и скучная работа. Но Python может автоматизировать даже такую рутинную задачу.

Модуль pdftotext создан именно для работы с документами в PDF формате. Устанавливается он при помощи команды "pip install pdftotext", а использовать его проще простого. Все основные операции представлены на картинке выше.

Кстати, здесь ещё интересно то, что исходный код модуля написан на C++. Поэтому есть небольшая вероятность, что придётся повоевать с зависимостями.
👍3
Бесконечный итератор последовательности

С помощью itertools.cycle() создаётся кольцевой итератор. Прийдя к последнему значению, он вновь начинает с первого.
Википедия

А как часто вы пользуетесь википедией? Если часто, то процесс поиска информации в ней можно немного упростить. За счёт официальной библиотеки, что так и называется Wikipedia, вы можете быстро находить информацию по разным ключевым словам.
help()

Функция help() предоставляет простой способ получения доступа к документации Python без интернета для любой функции, ключевого слова или модуля.
Библиотека mimesis(продолжение см пост выше)

В этот раз сгенерируем данные о человеке.
JmesPath

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

Но в стандартном пакете есть и кое-что, чего вам может не хватать. Если вы пользуетесь json.loads(), а данные из словаря получаете вручную (возможно, добавляя какие-то циклы), то готовьтесь сильно удивиться!

JMESPath (читается как «JAMES PATH») делает работу с JSON на Python еще проще. Теперь вы можете декларативно указывать, как извлекать элементы из JSON-документа. Вот несколько примеров, иллюстрирующих возможности JMESPath.
Delorean

Delorean — отличная библиотека для работы с датами и временем. Работа с временем с помощью неё в Python мне кажется наиболее естественной. Так же стоит отметить отличную документацию и бесчисленное количество отсылок к «Назад в будущее».
Имеется кортеж вида T = (4, 2, 3). Какая из операций приведёт к тому, что имя T будет ссылаться на кортеж (1, 2, 3)?
Anonymous Quiz
24%
T[0] = 1
21%
T = (1) + T[1:]
32%
T = (1,) + T[1:]
23%
T.startswith(1)
Преобразование изменяемых данных в неизменяемые

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

Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
😱1
Создание строки из списка строк

Создание строки из списка и установка пробелов между каждым словом.

Все сводится к тому, что функция String.join() может присоединять не только списки, но и любой iterable. Помещение его внутрь строки предотвращает реализацию одной и той же функциональности в нескольких местах.
Разбивание массива на маленькие куски указанного размера

Для создания списка желаемого размера используется range, а заполняется список при помощи map.
Ключевое слово yield

Yield — это ключевое слово в Python, которое используется для возврата из функции с сохранением состояния ее локальных переменных, и при повторном вызове такой функции выполнение продолжается с оператора yield, на котором ее работа была прервана. Любая функция, содержащая ключевое слово yield, называется генератором. Можно сказать, yield — это то, что делает ее генератором. Хотя оператор yield в Python не отличается популярностью, но он имеет множество достоинств, о которых стоит знать.
Вызов отладчика 10-символьной командой

Функцией breakpoint() можно пользоваться в Python 3.6+. Она инициирует запуск сессии pdb.set_trace().

Эта команда может выглядеть как нечто, созданное исключительно для удобства (и, возможно, так оно и есть), но я воспринимаю её как быстрый и красивый способ вызова отладчика.
from __future__ import

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

Впрочем, не всё так плохо. Модуль future даёт возможность импортировать функциональность будущих версий Python. Это прямо как путешествие во времени, или магия.