Python обучающий
62.3K subscribers
813 photos
7 videos
408 links
Здесь есть всё, чтобы упростить изучение Python. Без воды и сложных терминов.

Сотрудничество: @bateman24, @justcage

Работаем с @Tgpodbor_official

Ссылка РНК: https://clck.ru/3Ghwjd
加入频道
Sphinx

Что за библиотека и зачем она вам нужна?

Sphinx это система автоматической генерации документации к приложению. Позволяет создавать html-документы. Содержит также другие возможности организации автодокументации.

Автодокументация - это система автоматической построении документации к вашему проекту, в качестве поясняющих конструкций выступают блоки комментариев к самому коду. Там же и размечаются многие другие особенности построения документа.

Зачастую в вакансиях Python-разработчиков требуется понимание работы этой библиотеки.

Установка
 pip install -U Sphinx
Приведение типов

Да, Python это динамически типизированный язык программирования. Однако, приведение типов крайне важный аспект разработки. Мы отразили самые распространенные встроенные функции приведения типов.
👍 Комфорт и анонимность - слагаемые успеха Telegram-обменника Зеленая Свеча
Сохрани в избранное, что бы не потерять! 🤑

♻️Моментальный обмен Криптовалюты на Qiwi, Сбербанк, Яндекс.Деньги, Webmoney и наличные;
(они даже выдают кеш в любой точке России)
👀 Не требуется верификации;
🔁 Популярные направления;
🤑 Всегда есть ВСЁ в наличии.

Сайт: https://green-obmenka.ru/
Pickle

Очень мощная библиотека сериализации и десериализации объектов.

Что это значит?

Позволяет записывать сложные, комплексные объекты в набор байтов. А также загружать. Супер важная библиотека для больших приложений. Можно использовать для сохранения настроек, глубоких сущностей и много другого. Библиотека встроенная и не требует установки.

Основные операции

pickle.load() - загрузка
pickle.dump() - сохранение

Документация
Сохраняем объект pickle

Рассмотрим подробный, полный цикл сохранения. Создаем список товаров, создаем файл, записываем в файл с помощью pickle.

Очень просто и легко, можно запаковать в функцию и проблем не будет никаких. Особенно для оперативного использования.
Загружаем объект pickle

Загрузка очень похожа на сохранение. Достаточно простая операция, нужно подгрузить файл и передать его в функцию библиотеки pickle. Все очень просто и никаких других манипуляций проводить не надо. Загрузили - объект готов!
Что можно паковать в pickle?

1. None, True, False.
2. Целые числа, с плавающей запятой, комплексные числа.
3. Строки, байты, массивы байтов.
4. Кортежи, списки, сеты и словари, которые содержат объекты, которые может паковать pickle.
5. Функции, объявленные в начале модуля. lambda функции не входят в этот пункт.
6. Встроенные функции, объявленные в начале модуля.
7. Классы, объявленные в начале модуля.
8. Экземпляры классов. С некоторыми особенностями - подробнее.

Если вы планируете использовать pickle для вашего проекта, стоит адаптировать его составные части для взаимодействия с этой библиотекой.
Знакомство с JSON

Познакомимся с еще одним методом хранения информации часто использующимся со связкой с Python.

JSON - это текстовый формат хранения данных, основанный на JavaScript. Представляет собой набор упорядоченных данных.

В Python есть множество встроенных средств для работы с данным методом организации информации. О которых мы поговорим в дальнейших материалах.
Пакуем JSON

Упаковка JSON файла чуть чуть отличается от упаковки pickle объекта. Перед упаковкой нужно собрать данный в словарь, который мы затем упаковываем в файл.

В целом операция такая же простая.
Загрузка JSON-файла

Загрузка JSON-файла вообще очень простая. Буквально в пару строчек, одна функция и файл загружен.

JSON используется в Django и многих других библиотеках, знание этого формата очень полезно при работе с структурируемыми данными.
Функция setattr()

Функция позволяет устанавливать аттрибуты объекта, это позволяет оперировать объектами более детально и автоматизировано.

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

Библиотека Pillow позволяет обрабатывать изображения. Работает со всеми популярными форматами jpeg, png.

Основные возможности:
1. Фильтрация изображение
2. Изменение изображений
3. Работа с цветом
4. Работа с внутренней структурой изображения
5. Возможность создания изображений

В связки с другими библиотеками может стать мощной основой для вашего приложения.

Установка
 python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

Документация
Встроенный модуль time

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

Также крайне полезной функцией является time.sleep(n), которая останавливает выполнение программы на n секунд.
Ускоряем работу с json

Отличная библиотека для апгрейда работы с json, простое и отличное решение. Некоторые компоненты написаны на C, что существенно ускоряет работу библиотеки.

Быстрый, точный кодировщик и декодировщик json файлов. Умеет работать с различными кодировками. Представляет инструменты для сериализации любых объектов Python.

Совместим с 3.3+ и 2.5. Must have, если вы часто используете json в своей работе.

Установка
pip install simplejson

Документация
Turtle

В Pyhton есть встроенная графическая библиотека для рисования примитивов. Это интересная игрушка для изучения языка. Сейчас в TikTok набирают популярность видео с рисование подобных математических примитивов.

Рисуем круг из одной и той же точки, постоянно увеличивая радиус. Получаем интересный арт.
This media is not supported in your browser
VIEW IN TELEGRAM
Красота Turtle

Еще больше красивых узоров. О таких узорах говорилось в предыдущем посте. Математика бывает очень красивой. Экспериментируйте, пробуйте.

Скрипт

import turtle
colors = ['red', 'purple', 'blue', 'green', 'orange', 'yellow']
t = turtle.Pen()
turtle.bgcolor('black')
for x in range(360):
t.pencolor(colors[x%6])
t.width(x//100 + 1)
t.forward(x)
t.left(59)

Документация
Chardet

Маленькая, но невероятно полезная и простая библиотека. Позволяет определить кодировку текстового элемента.

Определяет:

- ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants)
- Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese)
- EUC-JP, SHIFT-JIS, CP932, ISO-2022-JP (Japanese)
- EUC-KR, ISO-2022-KR, Johab (Korean)
- KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic)
- ISO-8859-5, windows-1251 (Bulgarian)
- ISO-8859-1, windows-1252 (Western European languages)
- ISO-8859-7, windows-1253 (Greek)
- ISO-8859-8, windows-1255 (Visual and Logical Hebrew)
- TIS-620 (Thai)

Установка
pip install chardet

Документация
Исходный код
HTTP сервер на Python

Наш сервер пока не умеет обрабатывать запросы. Как только перейдем в браузере по адресу 127.0.0.1:8000 сервер выдаст ошибку. Однако это базовый пример для быстрой развертки сервиса в несколько строк.
Наборы символов

Стандартная библиотека хранит в себе много интересных штук. Про одну такую сегодня и поговорим.

В пакете string, есть возможность получить наборы символов по заданному параметру. Это готовые строки, для формирования пароля или шифрования.
Пишем утилиту для генерации пароля

Использовать будем символы из предыдущего поста пакета String. Собираем ascii буквы и цифры. И выбираем из них случайные для необходимой длинны пароля.

Полезно и для сервера и для личного использования.