Python академия
الذهاب إلى القناة على Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
إظهار المزيد7 291
المشتركون
-124 ساعات
-127 أيام
-4530 أيام
أرشيف المشاركات
7 292
Легко пропускайте начало итерируемого объекта
Иногда приходится работать с файлами, которые начинаются с неизвестного нам количества бесполезных строк, например, с комментариев. И тут itertools снова предлагает простое решение
Подписывайтесь на канал 👉@pythonofff
7 292
Несколько возможных типов возвращаемых значений
Если в вашей функции есть переменная, принимающая значения различных типов, можно использовать типы typing.Optional или typing.Union.
Используйте Optional, если значение будет либо определенного типа, либо исключительно None.
Подписывайтесь на канал 👉@pythonofff
7 292
Задание определенной точности
Иногда нам нужно указать количество знаков после запятой в числе. В такой ситуации мы используем все ту же функцию float(), а после нее — функцию format(), чтобы определить количество десятичных знаков в нашем числе.
В данном примере мы работаем со строкой «6.759104». Нам нужно преобразовать эту строку в число с плавающей запятой и оставить только 4 цифры после запятой.
Подписывайтесь на канал 👉@pythonofff
7 292
✌️ Привет! На связи Podlodka Python Crew.
Крупные сервисы успешно разрабатывают не только на языках со статической типизацией.
🐍 Поэтому 4 декабря запускаем новый сезон с темой «Python для энтерпрайза».
Вы сможете получить новый опыт и начать работать над сложными продуктовыми решениями. А если вы уже в enterprise, то узнаете больше про эффективные принципы работы над корпоративным продуктом.
В этот раз мы пригласили крутых экспертов по Python из компаний-гигантов — например, КРОК, Точки, X5 Tech, Райффайзен банка, Selectel и других. На докладах, воркшопах и круглых столах мы:
🔸 Послушаем, как меняются ценности и подходы у разработчика в enterprise.
🔸 Узнаем, как собирать и поддерживать шаблон репозитория для микросервисов.
🔸 Разберём принципы Domain-Driven Design на примере фреймворка Django.
🔸 Выясним правила работы с observability: как настраивать мониторинг, логирование и трейсинг.
👉 больше подробностей — на сайте: https://podlodka.io/pythoncrew (успей купить билет со скидкой до 28 ноября)
7 292
collections
В Python есть отличные встроенные типы данных, но иногда они ведут себя не так, как вам бы хотелось.
К счастью, в стандартной библиотеке Python присутствует модуль collections. Это полезное дополнение предлагает расширенные типы данных.
Подписывайтесь на канал 👉@pythonofff
7 292
Ограничьте использование процессора и памяти
Если вы не хотите оптимизировать память вашей программы или корректировать работу процессора, то можно просто установить лимиты. К счастью, в Python для этого есть специальная библиотека
Подписывайтесь на канал 👉@pythonofff
7 292
inspect
Модуль inspect идеален для понимания общего «закулисья» Python. А еще вы можете вызывать его методы!
Пример кода ниже использует inspect.getsource() для вывода собственного номера строки. А inspect.getmodule() используется для печати модуля, в котором он был определен.
Последняя строка кода выводит собственный номер строки.
Подписывайтесь на канал 👉@pythonofff
7 292
Перезагрузка оператора
Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным гением.
На самом деле, концепция довольно проста. Вы когда-нибудь задавались вопросом, почему в Python можно использовать оператор + для добавления чисел и конкатенации строк? Это и есть перезагрузка оператора в чистом виде.
Вы можете определить объекты, которые будут пользоваться стандартными символами операторов Python по-своему. Тогда их можно будет использовать в зависимости от содержимого объектов, с которыми вы работаете.
Подписывайтесь на канал 👉@pythonofff
7 292
Комбинации вложенных списков
Пожалуй, одна из моих любимых библиотек в Python — это itertools. Чтобы преобразить код, содержащий десятки списков, в глубоко вложенный список, достаточно нескольких манипуляций. itertools именно то, что вам нужно, чтобы решить эту задачу.
Подписывайтесь на канал 👉@pythonofff
7 292
При необходимости используйте итератор со срезами
Итератор — это инструмент для поточной обработки данных. Он отвечает за упрощение навигации по элементам: списку, словарю и так далее. Это такой объект-перечислитель, который выдаёт следующий элемент. В основном его используют в цикле for.
Подписывайтесь на канал 👉@pythonofff
7 292
pprint
Стандартная функцияprint в Python знает свое дело. Но попробуйте вывести на печать крупный и вложенный объект, и вас ждет сплошное разочарование.
Вот здесь-то и приходит на помощь модуль pretty-print из стандартной библиотеки. Он выводит сложно-структурированные объекты в удобочитаемом виде.
Настоящий must-have для любого Python-разработчика, имеющего дело с нетривиальными структурами данных.
Подписывайтесь на канал 👉@pythonofff
7 292
Упростите использование операторов сравнения
Использовать все операторы сравнения для одного класса может быть довольно сложно, учитывая, что их немало: It, le, gt или ge. Но есть ли более простой способ сделать это? Здесь поможет functools.total.ordering
Подписывайтесь на канал 👉@pythonofff
7 292
Деление с плавающей запятой
При делении целых чисел в Python результат будет целым, даже если на самом деле он был дробным. Чтобы получить корректный ответ, приходится делать что-то подобное:
result = 1.0/2
Но у этой проблемы есть и другое решение
Подписывайтесь на канал 👉@pythonofff
7 292
Сделайте «санитарную» обработку входных данных эффективнее
Чем больше размер программы, тем выше шансы пропустить уязвимость в коде. Один из способов обезопасить себя от возможных ошибок — очистка входных данных перед выполнением программы (input sanitization).
В большинстве случаев при таком подходе достаточно поменять регистр символов или использовать регулярные выражения.
Подписывайтесь на канал 👉@pythonofff
7 292
😎Устали от SQL запросов и хочется абстракций? Вам нужна ORM. Но ее надо уметь готовить.
Начните прокачивать скиллы с открытого урока «ORM: добро и зло», который пройдет 20 ноября в 20:00 мск. А продолжить сможете на практическом онлайн-курсе «Python Developer на специальных условиях.
Во время вебинара с Евгением Ревняковым, обсудим нюансы работы с БД при использовании механизма ORM. Поймем, как можно положить базу и как этого избежать. На примере связей one-to-many и many-to-many рассмотрим проблему n+1 запроса и оптимизации, которые дает нам ORM на уровне БД (db level) и в самом интерпретаторе (python level).
Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь, чтобы ничего не пропустить: https://vk.cc/cspPFu
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru7 292
Передавайте в функцию сколько угодно элементов — используйте kwargs
Если при разработке программы нужно выполнить несколько похожих действий, то лучшее решение — определить функции для многоразового использования кода. Для этого вызовите функцию с аргументом. Но что делать, если аргументы функции определены, а вам нужно передать больше значений? Для этого можно использовать kwargs — функции для именованных аргументов.
Подписывайтесь на канал 👉@pythonofff
7 292
Что такое аннотации типов?
Аннотации типов – это новая возможность, описанная в PEP484, которая позволяет добавлять подсказки о типах переменных. Они используются, чтобы информировать читателя кода, каким должен быть тип переменной.
Это придаёт немного статический вид коду на динамически типизированном Python. Достигается это синтаксисом: <тип> после инициализации / объявления переменной.
Подписывайтесь на канал 👉@pythonofff
7 292
sh
Python — это отличный скриптовый язык. Иногда использование стандартных библиотек os и subprocess становится настоящей головной болью.
А библиотека sh является отличной альтернативой.
С ней вы сможете вызывать любую программу как обычную функцию — это крайне полезно для автоматизации рабочего процесса и задач, причем все делается в самом Python.
Подписывайтесь на канал 👉@pythonofff
7 292
Подсказки типа
Python — это язык с динамической типизацией. Вам не нужно указывать тип данных при определении переменных, функций, классов и т.д.
Такой прием сокращает время разработки. Однако есть и более страшные вещи, чем ошибка при выполнении, вызванная простой проблемой ввода.
Подписывайтесь на канал 👉@pythonofff
7 292
Профилирование — это процесс, который помогает при работе с данными и их обработке.
Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных.
Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные.
Подписывайтесь на канал 👉@pythonofff
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
