Python tricks | Хитрости Питона
الذهاب إلى القناة على Telegram
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты. Сотрудничество: @SIeep_Token Мы на платформе: https://telegram.me/python_tricks Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
إظهار المزيد6 053
المشتركون
لا توجد بيانات24 ساعات
-117 أيام
-5930 أيام
أرشيف المشاركات
Почему a_tuple[i] += ['item'] не работает, а добавление работает
Это из-за того, что расширенный оператор присваивания - оператор присваивания, а также из-за разницы между изменяемыми и неизменяемыми объектами в Python.
🔗 Python tricks
Бомба: нейросеть Suno обучили создавать песни по вашему запросу. Накидываете слова, выбраете жанр — и трек готов. Работает даже с русским языком.
Самое крутое, что работает совершенно бесплатно, а инструкцию уже выкатили в главном нейроканале телеги: @neuraldvig
Как удалить все символы новой строки в конце строки
Можно использовать
S.rstrip("\r\n") для удаления символов новой строки, без удаления конечных пробелов.
🔗 Python tricksКак использовать строки для вызова функций/методов
Существует несколько приёмов.
Лучший - использование словаря, ставящего соответствие строке функцию. Его главное достоинство - строки не обязаны совпадать с названиями функций. Использование встроенной функции getattr. И использование locals или eval (не рекомендуется).
🔗 Python tricks
Как найти подстроку?
Для поиска подстроки в Python с использованием оператора in, вам нужно просто использовать оператор
in в условном операторе (обычно внутри if). Вот подробное объяснение шаг за шагом:
1. Создайте переменную, в которой будете искать подстроку (назовем ее main_string).
2. Создайте переменную, содержащую подстроку, которую вы хотите найти (назовем ее sub_string).
3.Используйте оператор in для проверки наличия sub_string в main_string внутри условного оператора if. Если sub_string найдена в main_string, то условие if будет выполняться, иначе оно не будет выполняться.
Оператор in проверяет наличие подстроки внутри строки и не возвращает индекс, а просто булево значение True или False, которое показывает, найдена ли подстрока или нет.
🔗 Python tricksМетод isspace()
Метод
isspace() — это строковый метод, который используется для проверки, состоит ли строка только из пробельных символов (пробелов, символов табуляции, символов новой строки и других символов, которые считаются «пробельными» в контексте языка Python).
Примечание: isspace() не изменяет исходную строку, а просто возвращает булево значение в зависимости от условия.
🔗 Python tricksРаботник московского склада Hermes восемь лет отправляла покупателям поддельные сумки Birkin и Kelly, вместо оригинальных. Оригиналы шли на Авито, а половина Москвы сейчас ходит с китайскими изделиями.
Модные бренды постоянно попадают в скандалы, которые тщательно пытаются скрыть. Если вы хотите видеть всю подноготную совремнного пиара — читайте «Нетипичный маркетинг».
Там бывший пиарщик IKEA следит за брендами и замечает все — от ошибок в ценах до скандальных историй с весьма интересными подробностями.
Они не хотят чтобы вы это знали. Подпишитесь: @notypical
abs
Функция abs() возвращает абсолютное значение заданного числа. Под абсолютным значением подразумевается неотрицательное значение. В качестве числа может быть целое число, с плавающей запятой и комплексное число.
🔗 Python tricks
string.isspace
С помощью метода isspace() ты можешь узнать, все ли символы в строке являются пробельными символами. Если являются, возвращается True. Если же строка пустая или присутствует хотя бы один не пробельный символ, возвращается False.
🔗 Python tricks
Mypy
Mypy — это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.
Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.
После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.
🔗 Python tricks
Создаем простое веб-приложение с помощью Molten
Molten — это современный фреймворк для создания API на Python. Он предлагает ряд функций, которые делают разработку API более удобной и эффективной.
Molten может быть использован для создания любого веб-приложения или API, которое требует высокой степени модульности и тестируемости. Он особенно полезен для создания RESTful API.
В этом примере мы создаем простое веб-приложение с одним маршрутом ("/"), который возвращает приветственное сообщение в формате JSON. Мы затем запускаем это приложение на локальном сервере на порту 8000.
🔗 Python tricks
collections.MutableMapping
collections.MutableMapping был представлен в Python 3.3 и представляет собой абстрактный базовый класс, который определяет интерфейс для изменяемых (mutable) отображений (маппингов) в Python. Этот класс служит основой для создания собственных классов, реализующих словари и другие типы отображений.
MutableMapping наследует от collections.abc.Mapping, который, в свою очередь, наследует от collections.abc.Collection. Эти абстрактные базовые классы предоставляют интерфейсы и методы для работы с коллекциями, маппингами и другими структурами данных.
Чтобы создать собственный класс, реализующий MutableMapping, вы должны определить несколько методов, включая getitem, setitem, delitem, iter, len, и, по желанию, contains (для поддержки оператора in). Эти методы обеспечивают доступ, изменение и удаление элементов из вашего отображения, а также обход и определение его размера.
🔗 Python tricks❗️Минимум 20 раз тебя взломали пока ты это читал
Паспорт с пропиской, скрытые фото, пароли и данные банковской карты — уже гуляют по интернету.
Чтобы не попасть в ловушку современный реалий – читай Cyber Squad
— Как узнать чужой пароль от Инстаграмм
— Обходить любые блокировки
— Какие VPN нельзя использовать
👁 Подписывайся - https://t.me/+TeRtBkRNyBE2ZWZi
Как можно изменить строку?
Никак, поскольку строки неизменяемы. В большинстве ситуаций, нужно просто сделать новую строку из различных частей. Однако, если так нужно, можно использовать
io.StringIO, либо модуль array
🔗 Python tricksКакой приоритет у оператора "запятая"
Запятая не является оператором в Python. Поскольку запятая - не оператор, но разделитель между выражениями, если бы было введено:
("a" in "b"), "a"
А не
"a" in ("b", "a")
То же самое верно и для операторов присваивания (=, += и другие). Они не являются операторами как таковыми, а лишь синтаксическими разделителями в операциях присваивания.
🔗 Python tricksМетоды .removeprefix() и .removesuffix()
Методы
.removeprefix() и .removesuffix() были введены в Python 3.9. Они предназначены для удаления указанного префикса или суффикса из строки. Эти методы предоставляют удобный способ обрезания строк, особенно если вы знаете, что определенная строка всегда начинается с определенного префикса или заканчивается определенным суффиксом. Это позволяет избежать необходимости использования сложных срезов строк и делает код более читаемым.
🔗 Python tricksМетод update()
Метод
update() в Python используется для обновления содержимого словаря (dict) с данными из другого словаря или итерабельного объекта. Он позволяет добавлять новые ключи и значения в словарь или обновлять значения существующих ключей.
Синтаксис метода update() следующий:
словарь.update(другой_словарь)где:
словарь — это словарь, в котором вы хотите обновить данные.
другой_словарь — это словарь или другой итерабельный объект (например, другой словарь, список кортежей или список списков), данные из которого вы хотите добавить или обновить в словарь.
🔗 Python tricksКак можно узнать имя объекта
Вообще говоря, никак, поскольку объекты в действительности не имеют имён. Важно: присваивание всегда связывает имя с объектом. Это верно и для инструкций
def и class.
Возможно, класс имеет имя: однако, хотя он связан с двумя именами и запрашивается через имя B, созданный экземпляр всё ещё считается экземпляром класса A. Однако, невозможно сказать, имя экземпляра a или b, поскольку оба они связаны с одним и тем же значением.
🔗 Python tricksПочему изменение списка 'y' изменяет также список 'x'
Вы, возможно, будете удивлены тому, что добавление в
y изменяет также и x.
Два факта приводят к такому результату:
• Переменные - это просто ссылки на объекты. y = x не создаёт копию списка - это просто создаёт переменную y, которая ссылается на тот же объект, что и x.
• Списки изменяемы.
🔗 Python tricksКак создавать функции более высокого порядка
Есть два пути: использовать вложенные функции или вызываемые объекты.
Использование вызываемого объекта - немного медленнее, и в результате получается больше кода. Однако, заметьте, что несколько функций могут разделять свою сигнатуру с помощью наследования.
Объект может сохранять свое состояние для нескольких вызовов.
🔗 Python tricks
