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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Библиотека psychopy

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

— Есть функции для отслеживания реакции испытуемых — регистрации нажатий клавиш, движения мыши, электроэнцефалограммы.
— Поддерживает создание протоколов экспериментов с использованием последовательностей стимулов и логики.
— Можно создавать окна для отображения стимулов разных типов.
— Позволяет экспортировать данные в разные форматы для последующей обработки.

🔗 Python tricks
pprint()

Функция pprint() предназначена для красивого форматированного вывода данных.

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

Может принимать ширину вывода в количестве символов для лучшего форматирования.
Имеет параметры depth и compact для настройки уровня вложенности и режима компактного вывода.

Функционал pprint() доступен через модуль pprint в стандартной библиотеке.

🔗 Python tricks
Что такое Протоколы

Протоколы — это соглашения, которые определяют интерфейс класса и поведение его объектов.

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

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

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

🔗 Python tricks
Какая разница в быстродействии между django и Flask и почему?

Django
чуть медленнее Flask из-за своей более высокой функциональности и накладных расходов. Однако на практике разница в скорости работы между ними незначительна для большинства веб-приложений.

Flask может быть немного быстрее при обработке простых запросов, но Django лучше масштабируется при увеличении нагрузки благодаря встроенным инструментам кэширования и оптимизации.
Кроме того, производительность в большей степени зависит от архитектуры и качества кода конкретного приложения.

🔗 Python tricks
Фреймворк PySimpleGUI


PySimpleGUI — это популярный фреймворк для создания простых графических интерфейсов пользователя.
Он позволяет быстро создавать интерфейсы при помощи Python, без необходимости изучать сложные GUI библиотеки, такие как Tkinter, Qt или wxPython.

PySimpleGUI широко используется для создания небольших утилит и инструментов с GUI, например:
— Простые GUI для скриптов автоматизации.
— Инструменты для обработки и визуализации данных.
— Маленькие вспомогательные приложения для повседневных задач.

Основные преимущества PySimpleGUI:
— Простой и интуитивно понятный синтаксис.
— Кроссплатформенность: работает на Windows, MacOS, Linux.
— Встроенная поддержка многих виджетов и тем оформления.
— Автоматическое размещение элементов GUI.

🔗 Python tricks
Dictionary Comprehension

Dictionary comprehension — это конструкция, позволяющая компактным способом создавать словари на основе существующих итерируемых объектов.

Dictionary comprehension применяется в ситуациях, когда нужно:
— Быстро создать словарь из списка или другого итерируемого объекта.
— Преобразовать одну структуру данных в словарь.
— Создать словарь с некоторой обработкой элементов.

Основные преимущества dictionary comprehension:
— Компактный и читаемый синтаксис по сравнению с циклами.
— Лаконичное создание словарей "на лету".
— Оптимизированная производительность по сравнению с циклами.
🔗 Python tricks
string center

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

🔗 Python tricks
Просмотр атрибутов и методов класса

С помощью функции dir() можно посмотреть список атрибутов и методов ‌‎любого‌‎ ‌‎объекта. Ее удобно использовать при работе в интерпретаторе, особенно при изучении пакетов сторонних разработчиков.

🔗 Python tricks
Использование декораторов

Декораторы добавляют функциональность коду. То есть это функции, вызывающие другие объекты/функции. Будучи вызываемыми функциями, декораторы возвращают объект, который будет вызываться при вызове функции-декоратора.

🔗 Python tricks
Освобождение памяти

Основной механизм, который используется Python для освобождения памяти — это сборщик мусора (garbage collector). Сборщик мусора автоматически освобождает память, которая больше не используется. Он определяет, что память больше не используется, если на объект нет ссылок.

🔗 Python tricks
Объединение списков с помощью Zip

Функция zip() в Python – это встроенная функция, которая используется для объединения нескольких списков (или других итерируемых объектов) в один список кортежей, где каждый кортеж содержит элементы с одинаковыми индексами из каждого из исходных списков.

🔗 Python tricks
string.rfind

Метод rfind() возвращает целочисленное значение. Если внутри строки существует заданная подстрока, возвращается наибольший индекс, в котором найдена подстрока. Если подстрока не существует внутри строки, возвращается -1.

🔗 Python tricks
Распаковка

Распаковка (unpacking, также называемая Деструктуризация) представляет разложение коллекции (кортежа, списка и т. д.) на отдельные значения. Так, как и многие языки программирования, Python поддерживает концепцию множественного присваивания.

🔗 Python tricks
Объем памяти объекта

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

🔗 Python tricks
Присоединение коллекции

Коллекции в Python делятся на последовательности, множества и отображения. Среди встроенных типов данных к первым относятся списки (тип данных list) и кортежи (tuple), ко вторым – обычные (изменяемые) и фиксированные множества (set и frozenset), к третьим – словари (dict).

Для их присоединения используется разные методы, но в нашем случае мы работаем через .join().

🔗 Python tricks
Вывод текущей директории

Текущей директорией называется та, в которой был запущен скрипт. Для определения текущей директории используется функция os. getcwd()

🔗 Python tricks
Функция высшего порядка

Функция высшего порядка — это функция, которая принимает в качестве аргумента другую функцию и/или возвращает функцию в качестве результата.

Функции высшего порядка могут использоваться для различных целей, включая:

— Инкапсуляция многократно используемого поведения
— Создание более абстрактного кода
— Усиление выразительности кода

🔗 Python tricks
Вывод импортированных модулей

При импорте модуля Python выполняет весь код в нём. При импорте пакета Python выполняет код в файле пакета init.py , если такой имеется. Все объекты, определённые в модуле или init.py , становятся доступны импортирующему.

🔗 Python tricks
Использование оператора "not"

Оператор "not" позволяет инвертировать булево значение.

В этом примере мы используем оператор "not" для проверки, не идет ли дождь.

🔗 Python tricks
Получение ID текущего процесса

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

🔗 Python tricks