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

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

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

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Как использовать строки для вызова функций/методов

Существует несколько приёмов.
Лучший - использование словаря, ставящего соответствие строке функцию. Его главное достоинство - строки не обязаны совпадать с названиями функций. Использование встроенной функции getattr. И использование locals или eval (не рекомендуется).
🔗 Python tricks
Как удалить все символы новой строки в конце строки

Можно использовать S.rstrip("\r\n") для удаления символов новой строки, без удаления конечных пробелов.

🔗 Python tricks
Почему a_tuple[i] += ['item'] не работает, а добавление работает

Это из-за того, что расширенный оператор присваивания - оператор присваивания, а также из-за разницы между изменяемыми и неизменяемыми объектами в Python.
🔗 Python tricks
Примечание для словаря (dict) (ч.1)

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

exit() — это функция, которая позволяет завершить выполнение программы и возвратить код возврата операционной системе.
Принимает один необязательный числовой аргумент — код возврата программы. По умолчанию это 0, что означает успешное завершение, а код возврата отличный от нуля сигнализирует об ошибке или нештатной ситуации.

Используется для завершения программы в случае критической ошибки, когда продолжение работы невозможно и позволяет гибко управлять кодами возврата в зависимости от ситуации.
🔗 Python tricks
Geopandas

Geopandas — это библиотека для работы с геопространственными данными. Она базируется на библиотеке Pandas и интегрируется с другими инструментами геоинформатики, такими как Shapely, Fiona, PyProj.

Geopandas позволяет эффективно работать с географическими данными в виде векторных и растровых слоев.

Основные области применения:
— Картография и визуализация пространственных данных.
— Анализ и обработка данных, содержащих географическую привязку.
— Работа с геометрическими объектами: точки, линии, полигоны.
— Преобразование и проектирование геоданных.
— Пространственный анализ и геостатистика.
— Моделирование географических процессов.
— ГИС-приложения и веб-картография.
🔗 Python tricks
Примечание для словаря (dict) (ч.2)

{} без значений создают словарь, а со значениями, в зависимости от синтаксиса могут создавать как множество, так и словарь.
🔗 Python tricks
Проверка принадлежности элемента данной коллекции c помощью оператора in

x in s
— вернет True, если элемент входит в коллекцию s и False — если не входит
Есть и вариант проверки не принадлежности: x not in s, где есть по сути, просто добавляется отрицание перед булевым значением предыдущего выражения.
🔗 Python tricks
functools.wraps

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

wraps обычно используется в качестве декоратора внутри пользовательских декораторов. Без использования functools.wraps, имя функции и её документацию было бы изменено на имя обернутой функции (wrapper), и документацию из оригинальной функции можно было бы потерять.

🔗 Python tricks
Подгенераторы

Подгенератор (subgenerator) — это функция-генератор, которая используется внутри другой функции-генератора. Он предоставляет часть логики или последовательность значений, которые могут быть использованы внутри более общего генератора. Подгенераторы полезны для организации кода и управления сложной логикой генераторов, разделяя ее на более мелкие, независимые части.

🔗 Python tricks
Метод count()

Метод count() в Python используется для подсчета количества вхождений заданного элемента (значения) в списке, кортеже или строке. Вот синтаксис этого метода:

count(element)

где element — это значение, которое вы хотите подсчитать в последовательности (списке, кортеже или строке).

🔗 Python tricks
Обход всех элементов коллекции в цикле for in

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

🔗 Python tricks
Обработка элементов (ч.1)

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

У прохода в цикле по словарю есть свои особенности.

При таком обходе словаря, перебираются только ключи равносильно for elm in my_dict.keys().

🔗 Python tricks
Обработка элементов (ч.2)

При желании можно пройти только по значениям. Но чаще всего нужны пары ключ(key) — значение (value).

Проход по .items() возвращает кортеж (ключ, значение), который присваивается кортежу переменных key, value.
🔗 Python tricks
Factory Boy

Factory Boy — это библиотека для тестирования в Python, которая предназначена для упрощения создания тестовых данных, таких как объекты базы данных.

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

🔗 Python tricks
pgeocode

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

После выполнения этого кода, вы получите информацию о местоположении, связанную с указанным почтовым индексом, включая штат, город, широту и долготу и другие данные, если они доступны.

🔗 Python tricks
dict.pop

Метод pop() удаляет и возвращает элемент из словаря с заданным ключом. Если ключ найден - удаляется/извлекается элемент из словаря. Если ключ не найден - значение указывается вторым аргументом (по умолчанию). Если ключ не найден и аргумент по умолчанию не указан – выдается KeyError.

🔗 Python tricks
Метод .index()

.index() — возвращает минимальный индекс переданного элемента для индексированных коллекций (строка, список, кортеж)
🔗 Python tricks
Forwarded from Apple Media
⚡️ Запускаем розыгрыш новенького iPhone 15 Pro на 256 ГБ!

В честь выхода нового айфона, мы решили разыграть его среди наших подписчиков!

УСЛОВИЯ для участия:
– Подписаться на 3 канала:
1. 1337: IT, ChatGPT, Midjourney
2. Не баг, а фича
3. Apple News
– Нажать кнопку «Участвовать» ниже у поста

Итоги будут 1 ноября на канале. Всем желаем удачи!

Участников: 53838
Призовых мест: 1
Дата розыгрыша: 21:00, 01.11.2023 MSK (2 дня)
Метод isalnum()

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

Метод isalnum() полезен, например, при валидации ввода пользователя, когда нужно убедиться, что введенная строка состоит только из букв и цифр.

🔗 Python tricks