Python tricks | Хитрости Питона
5.75K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Множества (set и frozenset)

Множество в python - "контейнер", содержащий не повторяющиеся элементы в случайном порядке. Множества имеет тот же литерал, что и словарь, но пустое множество с помощью литерала создать нельзя.

Единственное отличие set от frozenset заключается в том, что set - изменяемый тип данных, а frozenset - нет.
🔗 Python tricks
SpaCy

SpaCy — это библиотека для обработки естественного языка (NLP) на языке Python. Она предоставляет инструменты для сегментации текста, анализа грамматики, извлечения информации и многих других задач, связанных с обработкой текста.

Библиотека предоставляет множество инструментов для более сложных задач обработки текста, таких как анализ тональности, извлечение ключевых фраз, машинное обучение и многое другое. Вы можете узнать больше о SpaCy в его официальной документации.

🔗 Python tricks
Streamlit

Streamlit — это библиотека для создания веб-приложений с использованием Python. Она предоставляет простой способ превращения скриптов Python в интерактивные веб-приложения без необходимости изучения веб-разработки или HTML/CSS/JavaScript.

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

🔗 Python tricks
RecursionError

Ошибка RecursionError в Python возникает, когда функция вызывает саму себя (рекурсивный вызов) слишком много раз и превышает максимальную глубину рекурсии, установленную интерпретатором Python. Это ограничение существует для предотвращения переполнения стека вызовов, что может привести к сбою программы.

Обычно RecursionError сопровождается сообщением, указывающим на место в вашем коде, где произошла ошибка. Это сообщение будет содержать информацию о максимальной глубине рекурсии, которая была превышена.

🔗 Python tricks
@cached_property

В Python, @cached_property — это декоратор, который используется для кэширования результатов вычисления свойства (property) класса. Это может быть полезно, когда вычисление значения свойства требует затратных вычислений, и вы хотите избежать повторных вычислений при многократном доступе к свойству.

@cached_property не является стандартной частью стандартной библиотеки Python, но его можно легко добавить, например, используя библиотеку cached-property.

🔗 Python tricks
Именные функции, инструкция def

Функция в python - объект, принимающий аргументы и возвращающий значение. Обычно функция определяется с помощью инструкции def.

Функция может быть любой сложности и возвращать любые объекты (списки, кортежи, и даже функции!)
🔗 Python tricks
Аргументы функции

Функция может принимать произвольное количество аргументов или не принимать их вовсе. Также распространены функции с произвольным числом аргументов, функции с позиционными и именованными аргументами, обязательными и необязательными.

Функция также может принимать переменное количество позиционных аргументов, тогда перед именем ставится *
🔗 Python tricks
Метод isalpha()

Метод isalpha() является строковым методом, который позволяет проверить, состоит ли каждый символ в строке из букв (алфавитных символов). Он возвращает True, если все символы в строке являются буквами, и False в противном случае.

Как видно в примере выше, первая строка состоит только из букв, поэтому isalpha() возвращает True. Вторая строка содержит символы, которые не являются буквами (запятая и восклицательный знак), поэтому isalpha() возвращает False.

🔗 Python tricks
Pystan

Pystan — это python-обёртка для Stan, которая позволяет использовать методы байесовского статистического вывода.

Основные возможности Pystan:
— Простой интерфейс для задания байесовских моделей на языке Stan.
— Автоматическая компиляция моделей в высокооптимизированный код на C++.
— Выполнение статистического вывода с использованием методов Монте-Карло (MCMC).
— Возможность задавать сложные иерархические модели.
— Удобные инструменты для анализа результатов моделирования.
— Интеграция со многими библиотеками данных и визуализации в Python.

Pystan используется везде, где нужно решать задачи статистического моделирования и анализа данных с помощью байесовских методов.
🔗 Python tricks
pyperclip

pyperclip — это библиотека Python, которая предоставляет простой способ копирования и вставки текста в буфер обмена (clipboard) операционной системы. Вы можете использовать pyperclip для копирования текста в буфер обмена и вставки текста из буфера обмена в свой Python-скрипт.

Для установки pyperclip, вы можете использовать инструмент управления пакетами Python, такой как pip. Откройте терминал или командную строку и выполните следующую команду:

pip install pyperclip

После установки библиотеки, вы можете использовать ее в своем Python-коде.

🔗 Python tricks
FastAPI

FastAPI — это современный, быстрый (высокопроизводительный) веб-фреймворк для создания API используя Python 3.6+, в основе которого лежит стандартная аннотация типов Python. FastAPI обладает выдающейся производительностью благодаря использованию асинхронности и автоматическому созданию документации для вашего API.

FastAPI предоставляет множество других возможностей, такие как валидация запросов, зависимости (dependencies), работа с базами данных и многое другое, что делает его мощным инструментом для создания веб-приложений на Python.

🔗 Python tricks
Анонимные функции, инструкция lambda

Анонимные функции могут содержать лишь одно выражение, но и выполняются они быстрее. Анонимные функции создаются с помощью инструкции lambda. Кроме этого, их не обязательно присваивать переменной, как делали мы инструкцией def func().

lambda функции, в отличие от обычной, не требуется инструкция return, а в остальном, ведет себя точно так же.

🔗 Python tricks
Зачем нужны кортежи, если есть списки?

На это есть несколько причин. Во первых, это защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).

Во вторых, кортежи меньше размером чем списки. Это существенный плюс при работе с большими программами.

В третьих, это возможность использовать кортежи в качестве ключей словаря.

🔗 Python tricks
Как работать с кортежами?


Почему когда мы создаем кортеж из одного элемента нам выводит строку?

Все дело - в запятой. Сами по себе скобки ничего не значат, точнее, значат то, что внутри них находится одна инструкция, которая может быть отделена пробелами, переносом строк и прочим мусором.

Но все же не увлекайтесь, и ставьте скобки, тем более, что бывают случаи, когда скобки необходимы.
Еще можно создать кортеж из итерируемого объекта можно с помощью все той же пресловутой функции tuple()
🔗 Python tricks
list.pop

Метод list pop() удаляет элемент по указанному индексу. Метод также возвращает удаленный элемент. Если индекс, переданный методу, находится за пределами диапазона, он выдает исключение IndexError: pop index out of range.

🔗 Python tricks
Операции с кортежами

Все операции над списками, не изменяющие список (сложение, умножение на число, методы index() и count() и некоторые другие операции). Можно также по-разному менять элементы местами и так далее.

Например, гордость программистов на python - поменять местами значения двух переменных
🔗 Python tricks
Словари (dict) и работа с ними

Словари в Python
- неупорядоченные коллекции произвольных объектов с доступом по ключу. Их иногда ещё называют ассоциативными массивами или хеш-таблицами.

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

🔗 Python tricks
Что такое списки?

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

🔗 Python tricks
Строки. Функции и методы строк

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

Поэтому все строковые методы возвращают новую строку, которую потом следует присвоить переменной
🔗 Python tricks
Генерация QR-кода

QR-коды используются для кодирования и декодирования данных в машиночитаемую форму. Благодаря библиотеке pyqrcode ты можешь без проблем создавать QR-коды. Делимся кодом для генерации QR-кода.

🔗 Python tricks