Python академия
Open in Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
Show more7 176
Subscribers
-324 hours
-127 days
-4530 days
Posts Archive
7 176
Простые структуры данных
Однострочником, также очень просто вызвать инициализацию структур данных в Python. Гарольд Купер, реализовал однострочную древовидную структуру, используя следующий код
Подписывайтесь на канал 👉@pythonofff
7 176
Сила «однострочников» (One-Liners)
Вы устали пробираться между строк кода и теряться в условных конструкциях? Тогда, однострочники Python — это то, что вам нужно.
Подписывайтесь на канал 👉@pythonofff
7 176
Используйте объекты, которые поддерживают оператор with
Открыть файл и заблокировать фрагмент кода можно с помощью оператора with, но можно ли сделать это, пользуясь собственным методом? Да, можно реализовать протокол context manager, используя методы enter и exit
Подписывайтесь на канал 👉@pythonofff
7 176
Как перевернуть список в Python с помощью срезов
Срезы работают аналогично функции range(), которую мы разобрали ранее.
Срез также включает в себе три параметра: start, stop и step.
Синтаксис выглядит следующим образом: [start:end:step].
Если вы хотите вывести все элементы, вы можете использовать один из двух следующих способов
Подписывайтесь на канал 👉@pythonofff
7 176
Преобразование списка строк
Допустим, у нас есть список, содержащий числа в строковом формате. Чтобы преобразовать все эти элементы в числа с плавающей запятой, мы перебираем список в цикле for. Каждый элемент мы преобразуем из строкового в вещественный. Делается это при помощи функции float().
Мы создаем пустой список number, куда добавим наши числа в формате float. Далее мы используем цикл for для добавления каждого элемента из исходного списка в список number. При этом перед добавлением мы передаем в функцию float() каждый элемент, чтобы преобразовать его из строки в число с плавающей запятой.
Подписывайтесь на канал 👉@pythonofff
7 176
импорт из __future__
Одно из следствий популярности Python — постоянная разработка следующих версий. Новые версии несут в себе новые функции, если, конечно, ваша версия не устаревшая.
Бояться здесь нечего. Модуль_future_ позволяет импортировать в Python функционал будущих версий. Без всяких преувеличений, перед вами — настоящее путешествие во времени или магия.
Подписывайтесь на канал 👉@pythonofff
7 176
Абстракция словарей/множеств
С абстракциями списков (list comprehension) вы скорее всего сталкивались, но вот с абстракциями словарей/множеств (dict/set comprehension) — вряд ли. Они просты в использовании и так же эффективны.
Подписывайтесь на канал 👉@pythonofff
7 176
Упрощенный вывод данных
Он позволяет вывести строчный массив одной строкой, с разделением запятыми. Нам не нужно использовать .join() и циклы.
Подписывайтесь на канал 👉@pythonofff
7 176
1 декабря в Москве пройдет большая IT-конференция Импульс от Холдинга Т1.
В программе — выступления про цифровизацию, архитектуру, чистый код и формирование эффективных продуктовых команд от тех, кто работает над передовыми российскими разработками прямо сейчас:
• Алексей Фетисов - генеральный директор Холдинга Т1
• Павел Гонтарев, управляющий директор VK Тech
• Артем Кострюков, CEO TestIT
• Михаил Степнов, Руководитель центра R&D МТС Big Data/ CDO МТС Маркетолог
• Мария Тихонова, главный инженер по разработке в SberDevices
и другие эксперты.
А в завершении конференции — выступление группы Uma2rman.
Регистрируетесь. Вход бесплатный.
ЕРИД: LdtCKBQST
18+ Реклама. ООО «Т1»
ОГРН 1197746617419
7 176
Легко пропускайте начало итерируемого объекта
Иногда приходится работать с файлами, которые начинаются с неизвестного нам количества бесполезных строк, например, с комментариев. И тут itertools снова предлагает простое решение
Подписывайтесь на канал 👉@pythonofff
7 176
Несколько возможных типов возвращаемых значений
Если в вашей функции есть переменная, принимающая значения различных типов, можно использовать типы typing.Optional или typing.Union.
Используйте Optional, если значение будет либо определенного типа, либо исключительно None.
Подписывайтесь на канал 👉@pythonofff
7 176
Задание определенной точности
Иногда нам нужно указать количество знаков после запятой в числе. В такой ситуации мы используем все ту же функцию float(), а после нее — функцию format(), чтобы определить количество десятичных знаков в нашем числе.
В данном примере мы работаем со строкой «6.759104». Нам нужно преобразовать эту строку в число с плавающей запятой и оставить только 4 цифры после запятой.
Подписывайтесь на канал 👉@pythonofff
7 176
✌️ Привет! На связи Podlodka Python Crew.
Крупные сервисы успешно разрабатывают не только на языках со статической типизацией.
🐍 Поэтому 4 декабря запускаем новый сезон с темой «Python для энтерпрайза».
Вы сможете получить новый опыт и начать работать над сложными продуктовыми решениями. А если вы уже в enterprise, то узнаете больше про эффективные принципы работы над корпоративным продуктом.
В этот раз мы пригласили крутых экспертов по Python из компаний-гигантов — например, КРОК, Точки, X5 Tech, Райффайзен банка, Selectel и других. На докладах, воркшопах и круглых столах мы:
🔸 Послушаем, как меняются ценности и подходы у разработчика в enterprise.
🔸 Узнаем, как собирать и поддерживать шаблон репозитория для микросервисов.
🔸 Разберём принципы Domain-Driven Design на примере фреймворка Django.
🔸 Выясним правила работы с observability: как настраивать мониторинг, логирование и трейсинг.
👉 больше подробностей — на сайте: https://podlodka.io/pythoncrew (успей купить билет со скидкой до 28 ноября)
7 176
collections
В Python есть отличные встроенные типы данных, но иногда они ведут себя не так, как вам бы хотелось.
К счастью, в стандартной библиотеке Python присутствует модуль collections. Это полезное дополнение предлагает расширенные типы данных.
Подписывайтесь на канал 👉@pythonofff
7 176
Ограничьте использование процессора и памяти
Если вы не хотите оптимизировать память вашей программы или корректировать работу процессора, то можно просто установить лимиты. К счастью, в Python для этого есть специальная библиотека
Подписывайтесь на канал 👉@pythonofff
7 176
inspect
Модуль inspect идеален для понимания общего «закулисья» Python. А еще вы можете вызывать его методы!
Пример кода ниже использует inspect.getsource() для вывода собственного номера строки. А inspect.getmodule() используется для печати модуля, в котором он был определен.
Последняя строка кода выводит собственный номер строки.
Подписывайтесь на канал 👉@pythonofff
7 176
Перезагрузка оператора
Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным гением.
На самом деле, концепция довольно проста. Вы когда-нибудь задавались вопросом, почему в Python можно использовать оператор + для добавления чисел и конкатенации строк? Это и есть перезагрузка оператора в чистом виде.
Вы можете определить объекты, которые будут пользоваться стандартными символами операторов Python по-своему. Тогда их можно будет использовать в зависимости от содержимого объектов, с которыми вы работаете.
Подписывайтесь на канал 👉@pythonofff
7 176
Комбинации вложенных списков
Пожалуй, одна из моих любимых библиотек в Python — это itertools. Чтобы преобразить код, содержащий десятки списков, в глубоко вложенный список, достаточно нескольких манипуляций. itertools именно то, что вам нужно, чтобы решить эту задачу.
Подписывайтесь на канал 👉@pythonofff
7 176
При необходимости используйте итератор со срезами
Итератор — это инструмент для поточной обработки данных. Он отвечает за упрощение навигации по элементам: списку, словарю и так далее. Это такой объект-перечислитель, который выдаёт следующий элемент. В основном его используют в цикле for.
Подписывайтесь на канал 👉@pythonofff
7 176
pprint
Стандартная функцияprint в Python знает свое дело. Но попробуйте вывести на печать крупный и вложенный объект, и вас ждет сплошное разочарование.
Вот здесь-то и приходит на помощь модуль pretty-print из стандартной библиотеки. Он выводит сложно-структурированные объекты в удобочитаемом виде.
Настоящий must-have для любого Python-разработчика, имеющего дело с нетривиальными структурами данных.
Подписывайтесь на канал 👉@pythonofff
