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

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

Работаем с @Tgpodbor_official

Ссылка РНК: https://clck.ru/3Ghwjd
加入频道
Как быстро выучить Python

Но кто-то учит Python 3 года, а кто-то справляется за пару месяцев. А всё потому что Python надо учить правильно.

Поэтому собрали для вас подборку материалов, в которых авторы делятся своим опытом, секретами, фишками и лайфхаками для быстрого изучения Python. Дерзайте.

1. Как выучить Python. Самый простой способ. [Cмотреть]

2. План изучения Python с нуля. [Смотреть]

3. Как быстро выучить Python. [Смотреть]

4. 5 лучших советов, которые помогут правильно выучить Python. [Смотреть]

5. Как за месяц выучить Python. [Смотреть]

6. Учим Python за 1 час. [Смотреть]
Правильное копирование объекта

В Python, если мы приравняем один массив другому, новому передастся ссылка на старый. Что значит, что если мы изменим значение в старом, в новом оно также изменится. Для того, чтобы получить независимую копию, необходимо использоваться специальную функию copy().

В примере показано подобное взаимодействие.
Проверка возможности вызова

Поговорим о возможности вызова того или иного объекта. Для проверки возможности вызова воспользуемся встроенной функцией callable. Она возвращает True или False в зависимости от объекта. Под вызовом подразумеваются ( ).
Выполнение методов класса без создания экземпляра

В Python есть аналог конструкции static как в других объектно ориентированных языках программирования. Мы можем создать методы, выполнение которых не требует создания экземпляра класса. Для это используем директиву @classmethod.

В примере наглядно продемонстрирована работа механизма.
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

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