Simple Python
78 subscribers
45 photos
1 file
10 links
Download Telegram
FastAPI

FastAPI – фреймворк, про который однозначно стоит рассказать. Честно, синтаксис мне кажется намного приятнее, чем у других фреймворков.

Интересно, что автор фреймворка глубоко изучил несколько других фреймворков, от классических, таких как Django, до более современных, таких как Sanic, а также изучил различные технологии в NestJS (веб-фреймворк Node.js, Typescript).

Фреймворк имеет важную особенность – автоматическая генерация документации: как только ваши конечные точки будут реализованы, вы сможете поиграться с API, используя соответствующий стандартам пользовательский интерфейс. Поддерживаются SwaggerUI, ReDoc и другие.

FastAPI построен на удивительной библиотеке Starlette, в результате чего производительность сравнима с Node.js, а в некоторых случаях даже Go! В целом, складывается стойкое предчувствие, что FastAPI будет мчаться вперёд как лучший асинхронный фреймворк для Python.

🐍 @SimplePython #fastapi #framework
Обрезаем видео в Python

MoviePy — это модуль Python для редактирования видео, который можно использовать для основных операций с видео и GIF.

Установка пакета - pip install moviepy.

Подробнее с данным примером можно ознакомиться здесь.

🐍 @SimplePython #moviepy #crop
Метод partition()

Метод partition() разбивает строку по заданной подстроке. После этого результат возвращается в виде кортежа. При этом подстрока, по которой осуществлялась разбивка, тоже входит в кортеж.

🐍 @SimplePython #partition
Django (Джанго) — свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Проект поддерживается организацией Django Software Foundation.

Приемущества Django

🐍 @SimplePython #django
👍1
PrettyTable в python

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

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

🐍 @SimplePython #PrettyTable
Узнаем курс биткоина

forex-python позволяет получать данные о курсе валют в определённое время и конвертировать одну валюту в другую.

Установка пакета - pip install forex-python.

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

🐍 @SimplePython #bitcoin
👍1
Фильтрация False-значений

Данный код можно использовать для исключения всех "ложных" значений из списка, к примеру false, 0, None, " ".

🐍 @SimplePython #filter
Узнаем курс доллара при помощи Python

forex-python позволяет получать данные о курсе валют в определённое время и конвертировать одну валюту в другую.

Установка пакета - pip install forex-python.

Текущая программа позволяет нам узнать курс доллара относительно многих других валют мира.

🐍 @SimplePython #forex
Геттеры и сеттеры

В объектно-ориентированных языках распространено использование геттеров и сеттеров для безопасной работы с приватными полями. Например, в C# для этого есть удобная конструкция { get; set; }.

В Python геттер реализуется через декоратор @property, а сеттер в виде @свойство.setter. В примере метод геттера называется age, поэтому декоратор сеттера – @age.setter.

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

🐍 @SimplePython #setter #property
👍4
Встроенная функция help()

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

🐍 @SimplePython #help
Метод index()

Метод index - это встроенный метод списка, который позволяет узнать индекс или позицию элемента в последовательности.

Этот метод ищет элемент в списке и возвращает индекс, соответствующий его значению, в противном случае возникает ошибка ValueError.

🐍 @SimplePython #list #index
Метод re.sub()

re.sub(pattern, repl, string)

Ищет шаблон в строке и заменяет его на указанную подстроку. Если шаблон не найден, строка остается неизменной.

🐍 @SimplePython #re #sub
👍1
Форматируемые шаблоны строк

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

Такой способ появился ещё в Python 2.4, как замена %-форматированию, но популярным так и не стал. Поддерживает передачу значений по имени и использует $-синтаксис как в PHP.

🐍 @SimplePython #string #Template
👍3
Узнаём кодировку текста

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

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

В примере на картинке мы сделали запрос к серверу, получили ответ, взяли его содержимое и проверили кодировку через метод detect.

🐍 @SimplePython #chardet #charset #detect
👍1
Переход данных из изменяемых в неизменяемые

По названиям понятно, что неизменяемые данные — те, которые не могут быть модифицированы после создания. Яркий пример — списки и кортежи: список можно изменять как угодно, а в кортеж нельзя добавлять и удалять из него элементы.

Код с неизменяемыми структурами данных проще для понимания. В примере показано, как преобразовать список в кортеж.

🐍 @SimplePython #datatypes #mutable
Проверка телефонных номеров

Регулярные выражения также можно использовать для проверки телефонных номеров.

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

Как видите, поскольку второе число использует символ «=» вместо «+», оно считается недействительным.

🐍 @SimplePython #re #phone
👍6
Arduino добавляет поддержку Python: новая среда разработки для микроконтроллеров уже здесь!

🐍 @SimplePython #micropython #arduino
🔥2
Экономия памяти с помощью slots

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

Если вы столкнулись в подобной ситуации с нехваткой памяти — можете попробовать воспользоваться атрибутом slots

🐍 @SimplePython #slots #memory