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
Операторы Объединения: Самый Элегантный Способ Объединения словарей Python (ч.2)

В Python 3.9 были введены операторы объединения, которые сделали задачи объединения очень простыми

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

🔗 Python tricks
tuple.count

Метод count() позволяет узнать, сколько раз указанный элемент появляется в кортеже. В приведенном примере мы использовали метод count() для подсчета количества раз, когда элементы 1 и 7 появляются в кортеже. Здесь кортеж чисел (1,3,4,1,6,1) содержит три единицы и не содержит числа 7. Следовательно, результатом будет 3 и 0.

🔗 Python tricks
Работа с регистрами

Строки в Python имеют свойство регистра — прописные и строчные буквы считаются разными символами.

Для преобразования регистра используются методы строк:
str.upper() — преобразует строку к верхнему регистру.
str.lower() — преобразует строку к нижнему регистру.
str.swapcase() — меняет регистр каждого символа на противоположный.
str.capitalize() — делает первую букву заглавной, остальные строчными.

Регистр конкретного символа можно проверить в строке методами:
str.isupper() — проверка на заглавный регистр.
str.islower() — проверка на строчный регистр.

Регистр важно учитывать при сравнении строк на равенство.

🔗 Python tricks
Можно ли объявлять функцию внутри другой функции? Где она будет видна?

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

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

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


🔗 Python tricks
Класс Process

Process — это класс для создания и управления отдельными процессами из модуля multiprocessing.
Создание процесса выполняется конструктором Process, передавая целевую функцию и аргументы.

При создании процессов нужно учитывать:
— Ограничения на доступ к данным между процессами.
— Синхронизацию процессов при необходимости.

🔗 Python tricks
Что такое контейнер?

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

Основное назначение контейнеров — удобное и эффективное хранение и доступ к группам объектов. Контейнеры позволяют легко добавлять, удалять и итерировать элементы.

Все контейнеры в Python реализуют общие методы, такие как len() для получения размера и contains() для проверки вхождения элемента. Это обеспечивает единый интерфейс работы с разными типами контейнеров.


🔗 Python tricks
Подсказки по вводу: Сделайте ваши программы на Python безопасными для ввода

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

Чтобы решить эту проблему, Python внедрил функцию подсказки при вводе текста в версии 3.5. Она обеспечивает способ аннотирования типов переменных в коде, а современная среда IDE может обнаруживать ошибки типов на ранней стадии в процессе разработки.

🔗 Python tricks
F-строки: Подход к форматированию строк на Pythonic (ч.1)

Python поддерживает несколько различных методов форматирования строк, таких как форматирование в стиле C с использованием символов %, встроенная функция format() и f-строки.

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

🔗 Python tricks
F-строки: Подход к форматированию строк на Pythonic (ч.2)

Как показано в коде, есть только две вещи, которые нужно сделать для использования f-строк:

1)Добавить букву “f” перед строкой, чтобы указать, что это f-строка.
2)Использовать фигурные скобки с именем переменной и необязательный спецификатор формата внутри строки ({variable_name:format}), чтобы интерполировать значение переменной в определённом формате.

“Простое лучше сложного”. f-строки являются хорошим отражением этой цитаты из "The Zen of Python". Более того, мы можем напрямую выполнить выражение внутри f-строки.

🔗 Python tricks
Chartify

Chartify — это библиотека визуализации. Ее цель — максимально упростить создание диаграмм для специалистов по данным. Библиотека поставляется с удобным синтаксисом и логическим форматированием данных (в отличие от других инструментов). Для создания быстрых и красивых диаграмм требуется меньше времени. Сама библиотека была написана в Spotify labs.

🔗 Python tricks
Pillow

Pillow является ответвлением Python Imaging Library. Эта библиотека подойдет для создания миниатюр, преобразования в различные форматы, наложения фильтров, вращения и отображения изображений и т.д. Pillow — идеальный вариант для пакетной обработки большого количества изображений.

🔗 Python tricks
string.startswith

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

🔗 Python tricks
Colorama

Colorama помогает добавить цвета в терминал. Этот пакет отлично украшает Python-скрипты. Документация проста и понятна, почитать ее можно на странице Colorama в PyPI.

Если хотите, чтобы Colorama работала под Windows, то вначале вызовите colorama.init().

🔗 Python tricks
Simplejson

Что не так с нативным JSON-модулем в Python? Ничего! Более того, json в Python — это и есть simplejson. То есть Python берет версию simplejson и добавляет ее в каждый свой релиз. А в использовании simplejson есть свои преимущества, ведь он:
• поддерживается в большем количестве версий Python;
• обновляется чаще, чем стандартный модуль Python;
• содержит дополнительные части, написанные на С, из-за чего работает очень быстро.

🔗 Python tricks
Интроспекция

Интроспекция — это возможность получить информацию об объектах во время выполнения программы. Это может быть полезно для различных целей, таких как проверка типа объекта, получение списка атрибутов или методов объекта, вызов методов объекта, изменение значений атрибутов объекта.

В Python есть несколько способов использовать интроспекцию. Один из способов — использовать встроенные функции type(), dir() и getattr().

🔗 Python tricks
Requests

Requests основан на самой часто скачиваемой Python-библиотеке — urllib3. Requests максимально упрощает веб-запросы, оставаясь при этом чрезвычайно мощным и разноплановым инструментом. Скорее всего, вы уже знакомы с этим пакетом, но без него мой список был бы неполным.

🔗 Python tricks
JmesPath

Работать с JSON в Python — сплошное удовольствие, ведь он прекрасно отображается в Python-словаре. Кроме того, Python поставляется с собственной библиотекой для создания и анализа, или разбора, JSON. Для меня это одна из лучших функций в Python. Если мне нужно поработать с JSON, то я непременно выберу Python.

🔗 Python tricks
Рефлексия

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

🔗 Python tricks
Функция reload()

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

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

🔗 Python tricks
Python-dateutil

python-dateutil предлагает мощные расширения стандартного модуля datetime. Мой профессиональный опыт подсказывает, что там, где заканчивается стандартный функционал datetime в Python, начинается сфера python-dateutil.

🔗 Python tricks
Функция coerce()

Функция coerce() предназначена для приведения типов двух операндов к одному типу. Она используется в основном для операций с числами, но может использоваться и для других типов.

Аргументы функции coerce() — это два операнда, которые необходимо привести к одному типу. Функция возвращает кортеж из двух значений, первый элемент которого — это преобразованный первый операнд, а второй элемент — это преобразованный второй операнд.

Если функция coerce() не может преобразовать один из операндов, она возвращает значение None.

🔗 Python tricks