Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
Работа с PDF

С помощью пакета pdftotext мы можем работать с PDF-файлами в Python: получать кол-во страниц, итерироваться по ним, выводить конкретные страницы и тексты. Вся эта функциональность описана на картинке.

Исходный код пакета написан на C++, поэтому могут возникнуть проблемы при установке. Документация: https://pypi.org/project/pdftotext/
👍7
Emoji

Пакет Emoji пакет очень помогает при анализе данных из соцсетей, позволяя встраивать в текст и выделять из него эмодзи. Почитать документацию и ознакомиться с другими примерами можно на странице пакета emoji.
👍7
Принципы Python

В языке есть множество скрытых пасхалок. Одну из них можно наблюдать при импорте this. При выполнении этой строки в консоль выводятся принципы Python — «Простое лучше сложного», «Удобочитаемость имеет значение», «Явное лучше неявного» и другие.
❤6
Всплывающее окно

pyautogui.alert позволяет вызвать всплывающее окно. В примере показано самое простое использование метода.

Программа ставится на паузу, пока не нажать ОК в всплывающем окне (или закрыть его). Более подробно о возможностях кастомизации можно почитать в документации пакета: https://pyautogui.readthedocs.io/en/latest/
👍5🔥3
Целые числа (int)

Давайте определим переменную x, имеющую значение 10. Встроенный метод id() используется для определения местоположения x в памяти, а type() используется для определения типа переменной. Когда мы пытаемся изменить значение x, оно успешно изменяется.

Стоит заметить, что адрес памяти тоже изменяется. Так происходит потому, что фактически мы не изменили значение x, а создали другой объект с тем же именем x и присвоили ему другое значение. Мы связали имя x с новым значением. Теперь, когда вы вызываете x, он будет выводить новое значение и ссылаться на новое местоположение.
👍7🔥2
Библиотека showballstemmer

Работали
когда-нибудь над поисковиками? Хороший поисковик должен много чего уметь находить по минимальному запросу. Чем лучше, тем сложнее писать. Некоторые используют pymorph2 (первая слишком много потребляет ресурсов), но ведь достаточно определять основу слова, а не начальную форму для нахождения большинства результатов.

Библиотека showballstemmer и занимается тем, что определяет основу слова, что делает поиск более точным. А главное, что библиотека намного меньше потребляет, а результат намного лучше.

В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно: EnglishStemmer, FrenchStemmer, RussianStemmer
👍7
Xlwings — библиотека Python для автоматизации работы с Microsoft Excel.

▫️Скриптинг: автоматизация/взаимодействие с Excel из Python с использованием синтаксиса, близкого к VBA.
▫️Макросы: замените громоздкие макросы VBA на чистый и мощный код Python.
▫️UDF: написание пользовательских функций (UDF) на языке Python (только для Windows).
👍5
📌 Работаем с изображениями

Решением такой задачи занимается pillow — мощный инструмент для редактирования фото на Python.

Установка: pip install Pillow

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

Подробнее
👍5❤‍🔥3
Строки (str)

Мы не можем изменить существующую переменную, вместо этого мы должны создать новую с тем же именем.

В данном примере мы определили строковую переменную x, но допустили ошибку в слове и теперь хотим исправить «ю» на «и». Однако мы получаем TypeError. Это показывает, что строковые объекты не подлежат обновлению.
👍10👎1💘1
Упаковка и сохранение JSON

Напомним, что JSON — легкочитаемый формат для обмена данными, основанный на JavaScript, но при этом свободно используемый в практически любом языке программирования. На картинке показано, как сохранить словарь в JSON-файл.
👍8
Проверка типа объекта

Модуль inspect добавляет некоторые любопытные возможности: функция ismodule позволяет проверить, является ли переданный объект модулем. Функции isclass, isfunction и ismethod соответственно проверяют, является ли объект классом, функцией или методом.

Каждый print в примере выводит True.
👍5
Нелокальная переменная во вложенной функции

Прежде чем перейти к тому, что такое замыкание, мы должны сначала понять, что такое вложенная функция и нелокальная (nonlocal) переменная.

Функция, определенная внутри другой функции, называется вложенной функцией. Вложенные функции могут получать доступ к переменным из локальной области видимости объемлющих функций (enclosing scope).

В Python нелокальные переменные по умолчанию доступны только для чтения. Если нам необходимо их модифицировать, то мы должны объявить их явно как нелокальные (используя ключевое слово nonlocal).
👍3
Py2many — перенос Python на многие другие языки

Py2many позволяет превращать Python-код в код на других языках, таких как Rust.
👍7
Константы модуля cmath

В модуле cmath есть множество констант, которые используются при вычислении комплексных чисел.
3D визуализация на Python

Vpython — относительно простая библиотека для демонстрации физических явлений. В примере создаём вращающийся куб.

В начале программы создаём сам куб, задавая параметры, сохраняем его в переменную, а затем для вращения создаём бесконечный цикл. Документация:
https://www.glowscript.org/docs/VPythonDocs/index.html
👍8
Удаление знаков препинания

Модуль string в Python имеет множество встроенных констант с отдельными наборами символов. string.punctuation — один из них, поэтому мы будем использовать его для очистки строки.

В Python3 string.punctuation — это предварительно инициализированная строка, используемая как строковая константа. В Python string.punctuation даст все наборы знаков препинания.
Аннотации типов

Python имеет динамическую типизацию, и многие часто ругают за это язык.

Однако в новых версиях добавили поддержку аннотаций типов переменных, полей классов, аргументов функций и возвращаемых значений, что призвано упростить чтение и понимание кода.
👍8👏2
Наследование в python

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

В примере на картинке класс Ferrari является дочерним классом Car.
👍10
Lambda-функции совместно с map()

Lambda-функции — это функции, которые являются анонимными и им не нужно указывать какое-то собственное имя, как это происходит с пользовательскими функциями. Эти функции часто передаются в качестве параметров другим функциям.
Теперь давайте попробуем применить lambda-функции совместно с функцией map().
👍4
Композиция (ассоциация) классов

Это полезный способ организации взаимодействия классов в парадигме ООП, когда один из классов (в примере на картинке это Wages) является полем другого (Worker).
👍6🤯3