Python tricks | Хитрости Питона
Kanalga Telegram’da o‘tish
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты. Сотрудничество: @SIeep_Token Мы на платформе: https://telegram.me/python_tricks Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Ko'proq ko'rsatish6 053
Obunachilar
Ma'lumot yo'q24 soatlar
-117 kunlar
-5930 kunlar
Postlar arxiv
Тернарный оператор
Тернарный оператор — это оператор, позволяющий записать условную конструкцию if-else в одну строку.
Тернарный оператор часто используется для условного присваивания значений переменной, выбора между двумя вариантами в одну строку.
Он позволяет сократить и упростить запись условных выражений. Однако не рекомендуется использовать вложенные конструкции, т. к. это ухудшает читаемость.
В данном примере тернарный оператор используется:
— Для вывода одной из двух фраз в зависимости от условия
a > b.
— Для присваивания переменной result одного из двух значений в зависимости от четности a.
🔗 Python tricksАльфа-банк заплатит вам 8500 рублей, за открытие банковского счета
• Сбер начислит 40% кэшбек на ВСЕ покупки. Достаточно ввести промокод сотрудника (коды) в Сбермаркете.
• А у банка «Тинькофф» есть акция — клеишь наклейку на машину или ноутбук и получаешь 4000 ₽/мес
Российские банки - не паханное поле халявы. И если вы не хотите тратить десятки часов на их поиски вручную – подпишитесь на Банкистар
Там сами сотрудники сливают все скрытые спецтарифы банков и показывают, как получать с них 50-70 тыс. в месяц, ничего не делая.
Если хотите пассивный заработок хотя бы сотку в месяц, точно подпишитесь: @bankistar
Переименование файлов в Python
rename() — это функция из модуля os, которая позволяет переименовывать файлы и директории.
Используется для переименования файлов и директорий на файловой системе. Принимает два аргумента - старое имя и новое имя и атомарно переименовывает файл за одну операцию.
Также позволяет перемещать файлы между разными директориями.
🔗 Python tricks
Точка входа в программу
Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля.
Эта конструкция позволяет запустить какой-то код только при прямом вызове модуля, так как name будет равно 'main' только если модуль запущен напрямую.
Это позволяет запускать программу полностью только когда она основная, а не импортируется в качестве модуля.
🔗 Python tricks
whylogs
whylogs — это библиотека для мониторинга и аудита машинного обучения.
Она помогает делать ML системы более прозрачными, стабильными и надёжными за счёт постоянного мониторинга и аудита.
Она используется для того, чтобы:
— Отслеживать статистику и метрики моделей и данных в режиме реального времени.
— Выявлять дрейф данных - изменения в распределении данных со временем.
— Собирать примеры исключений и выбросов.
— Проводить аудит моделей и данных в поисках проблем.
— Генерировать автоматические отчёты и визуализации.
— Интегрировать с MLflow, TensorBoard и другими инструментами.
🔗 Python tricks
Шар для предсказания будущего
Будет полезен ученикам 8-11 классов, которые ищут возможность проявить себя в спортивном программировании. «Технокубок» — это олимпиада I уровня РСОШ от VK, МФТИ и МГТУ им. Н.Э. Баумана. Это значит, что у участников есть шансы показать свои навыки и получить различные преимущества — от льгот при поступлении в вузы до общения с экспертами VK. Зарегистрироваться можно тут.
🔗 Python tricks
Словарь и set comprehensions
Словарю нужны ключ и значение.
Определяем ключ и значение в expression.
Синтаксис set comprehension не сильно отличается от list comprehension. Мы просто используем фигурные скобки вместо квадратных.
🔗 Python tricks
Конкатенация строк
Если нужно конкатенировать список строк, сделать это можно в цикле
for, по одной добавляя строки к итоговому результату. Однако такой подход будет весьма неэффективным, особенно в том случае, если список оказывается достаточно длинным. В Python строки являются иммутабельными сущностями. В результате каждая операция по конкатенации строк означает необходимость копирования пары строк в новую строку.
Более эффективный подход к решению этой задачи заключается в использовании функции join()
🔗 Python tricksМодуль howdoi
Модуль howdoi поможет найти ответ на многие основные вопросы, связанные с кодом, при этом весь процесс «вопрос-ответ» полностью происходит в консоли. Как же это работает? Модуль сравнивает Ваш вопрос с вопросами на сайте StackOverflow и предлагает Вам варианты кода из лучших ответов с данного ресурса.
🔗 Python tricks
Джуниоров не берут на работу!
Это потому что у них нет коммерческого опыта. Но где его взять, если не берут на работу без опыта?
Чтобы наработать опыт надо делать пет-проекты — это сайты, приложения и сервисы, которые похожи на коммерческие и показывают весь опыт джуна на практике.
Обычно новички не могут придумать такие проекты самостоятельно.
Поэтому один добрый тимлид выкладывает такие пет-проекты к себе в телеграм-канал, чтобы помочь новичкам, стартующим в профессии.
string.replace
Метод replace() заменяет каждое соответствующее вхождение подстроки другой строкой. При необходимости ты можешь задать, сколько раз ты хочешь заменить исходную строку новой строкой. Если не указывать данное число, заменятся все вхождения.
🔗 Python tricks
Профилирование
Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
🔗 Python tricks
pprint
Ни для кого не будет новостью, что при написании кода очень часто используется функцию print(). И все замечательно, когда нужно вывести небольшой объем информации, например, состояние булевой переменной. Но что, если нам нужно, допустим, вывести в консоль лист, в котором каждый элемент хранит в себе еще несколько состояний. Наглядно вывести подобную информацию с помощью одной строки кода, используя print(), уже не получится. Здесь нам с приятным для восприятия выводом поможет модуль pprint, он же Pretty Printer.
🔗 Python tricks
Библиотека Colorama
Нашему глазу будет очень легко зацепиться за неверное состояние, если оно в консоли при выводе будет выделено цветом. Примеров, полагаю, можно привести еще достаточно, где данное нововведение сыграло бы хоть малейшую роль. Что ж, даже для цветного вывода в консоль найдется свой модуль, а именно библиотека с названием Colorama.
🔗 Python tricks
Валидные значения словаря
В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям.
🔗 Python tricks
next
Функция next() возвращает следующий элемент итератора. Если итератор исчерпан, он возвращает значение по умолчанию, переданное в качестве аргумента. Если параметр по умолчанию не указан и итератор исчерпан, возникает исключение StopIteration.
🔗 Python tricks
Duck typing (утиная типизация)
Duck typing — это концепция, позволяющая использовать объекты независимо от их типа, базируясь на их свойствах и методах.
Основная идея — не проверять тип объекта напрямую, а пытаться использовать его так, как нам нужно.
Преимущества:
— Нет необходимости привязываться к конкретным классам и типам.
— Код становится более гибким и менее связанным.
— Легче расширять и изменять код, добавляя новые типы.
— Упрощает полиморфизм.
🔗 Python tricks
Атрибуты объектов
Атрибуты — это переменные, связанные с объектом класса и хранящие его данные.
Они объявляются внутри класса, а доступ к атрибутам происходит через точку после объекта (object.attr). Бывают public, приватными (__attr) и защищенными (_attr). Публичные атрибуты доступны везде, приватные только в классе, защищенные в классе и дочерних.
Значение по умолчанию None, если не задано другое.
Атрибуты можно создать в конструкторе init() и изменить в методах класса, а новые атрибуты к объектам можно добавлять в рантайме.
🔗 Python tricks
Композиция (ассоциация) классов
Композиция (ассоциация) классов — это способ связи объектов разных классов. Позволяет создавать сложные объекты из более простых.
Один класс содержит объект другого класса как атрибут, при этом внутренний объект является частью внешнего.
Внешний класс не наследует функционал внутреннего, в отличие от наследования, просто использует его.
Композиция классов позволяет создавать сложные объекты из простых классов и подходит для моделирования реальных взаимосвязей.
🔗 Python tricks
LineaPy
LineaPy — это библиотека для работы с временными рядами и анализа временных данных.
Эта библиотека позволяет быстро решать типовые задачи анализа временных рядов без необходимости "изобретать велосипед".
Она удобна для анализа временных данных в задачах прогнозирования, мониторинга, выявления сезонности, трендов и аномалий. Имеет интуитивный API и хорошую документацию.
В этом примере мы получили прогнозные значения временного ряда на 5 периодов вперед с помощью модели ARIMA из LineaPy за считанные строки кода.
🔗 Python tricks
