Python академия
Відкрити в Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
Показати більше7 285
Підписники
+124 години
-57 днів
-4230 день
Архів дописів
7 286
Печать в одной строке
Мы знаем, что функция print выполняет вывод в каждой строке, и если использовать две функции print, они выполнят печать в две строки. Этот пример покажет, как выполнять вывод в той же строке без перехода на новую.
Подписывайтесь на канал 👉@pythonofff
7 286
Get Method для словаря
Большинство разработчиков используют скобки, чтобы получить значение из словаря. Но сейчас рекомендуется использовать Get method.
При использовании метода скобок выдается ошибка, если ключ отсутствует. С помощью Get method вы получите “None” .
Подписывайтесь на канал 👉@pythonofff
7 286
Распечатывание ежемесячного календаря
Этот лайфхак — всего лишь скрытая функция Python, которая позволяет распечатывать ежемесячный календарь в формате таблицы.
Подписывайтесь на канал 👉@pythonofff
7 286
Использование * и ** для распаковки аргументов функций
Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным.
Распаковать словарь можно, используя префикс **:
Подписывайтесь на канал 👉@pythonofff
7 286
Query JSON
JMESpath – это язык запросов для JSON, который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.
Подписывайтесь на канал 👉@pythonofff
7 286
Самый частый элемент
Этот короткий скрипт вернёт элемент, чаще всего встречающийся в списке.
Используются продвинутые параметры встроенной функции max():
• первым аргументом она получает множество из элементов списка (помним, что в множестве все элементы уникальны);
• затем применяет к каждому из них функцию count, подсчитывающую, сколько раз элемент встречается в списке;
• после этого возвращает элемент множества, который имеет больше всего «попаданий».
В качестве аргумента можно использовать списки, кортежи и строки.
Подписывайтесь на канал 👉@pythonofff
7 286
Валидные значения словаря
В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям
Подписывайтесь на канал 👉@pythonofff
7 286
Следим за временем, необходимым на выполнение вашего кода на Python
Допустим, вам необходимо узнать, сколько времени занимает выполнение той или иной функции. Используя модуль time, вы можете рассчитать это время.
Подписывайтесь на канал 👉@pythonofff
7 286
#вакансия #удалённо #job #remote #parttime #преподаватель #Python #qapython #webpython
Компания: OTUS – образовательная платформа. Мы 5 лет специализируемся на курсах для IT-специалистов разного уровня: от junior до senior🤘у нас более 130 авторских курсов!
Вакансия: преподаватель курсов:
🔹Python QA Engineer на модуль "Автоматизация мобильного тестирования". Требуется опыт от 2 лет работы с pytest + Appium (будет совсем супер, если есть опыт и с Андроидом, и с iOS👍).
🔹Web-Python
🔹Буткэмп Python. Требуется опыт работы с Python от 4 лет.
Локация: удаленно; сами определяете нагрузку и выбираете, на какие темы преподавать.
💰Вознаграждение:
Ставка за 1 урок (1.5 часа) – от 4000р. до 6000р.
Дополнительные активности на Ваше усмотрение, которые оплачиваются отдельно: разработка и переработка материалов вебинара, проверка домашних заданий, менторство.
У нас классная команда 450+ экспертов с уникальными компетенциями из различных компаний. Мы учимся друг у друга, советуемся, помогаем, делимся опытом, обсуждаем новости как в преподавании, так и по проектам.
Научим:
✅ работать с аудиторией;
✅ давать обратную связь;
✅ публично выступать;
✅ структурировать свои знания.
Вы сможете:
🎁 проходить наши курсы со скидкой;
💪 набирать себе команду из лучших студентов;
💸 совмещать с текущей фулл-тайм загрузкой.
Хотите узнать больше? @yu_grin
7 286
Подсчет вхождений в список
Используйте Counter из библиотеки коллекций, чтобы получить словарь с подсчетом всех уникальных элементов в списке
Подписывайтесь на канал 👉@pythonofff
7 286
Списковые включения
Возможно где-то до этого ты уже мог слышать понятие «list comprehensions». Это такой способ уместить цикл for, блок if и присваивание в одну строку.
Начнем с простейшего примера. Допустим, нам снова надо возвести в квадрат все элементы списка.
Да, определенно этот код короче предыдущего, но всё еще некрасив. С первого взгляда сложно сказать, что делает функция map (она принимает в качестве аргументов функцию и список и применяет функцию к каждому элементу списка). К тому же мы вынуждены определять функцию, это выглядит довольно беспорядочно.
Подписывайтесь на канал 👉@pythonofff
7 286
Проверка на вхождение подстроки
Должно быть, вы знаете, что можно проверить, содержится ли нужный элемент в кортеже, списке, словаре, с помощью конструкции 'item in list' или 'item not in list'. Я не мог представить, что это сработает для строк.
Подписывайтесь на канал 👉@pythonofff
7 286
Data classes
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:
• возврат нескольких значений или словарей;
• класс данных требует минимального количества кода;
• возможность сравнения классов данных;
• возможность распечатать класс данных для отладки при помощи repr;
• снижение вероятности ошибок в связи с требованием класса данных type hints
Подписывайтесь на канал 👉@pythonofff
7 286
Декорируем функции
Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
Внутри print_argument мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».
С помощью print_argument мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.
Подписывайтесь на канал 👉@pythonofff
7 286
Аннотации типов
Python — динамически типизированный язык. Вам не нужно указывать тип данных при определении переменных, функций, классов и т.д.
Это позволяет ускорить процесс разработки. Однако мало что раздражает так сильно, как ошибка времени выполнения, возникшая из-за простого несовпадения типа.
С версии Python 3.5 при определении функции можно добавлять аннотации типов
Также они позволяют использовать инструменты для проверки типов, чтобы отлавливать ошибки TypeError.
Подписывайтесь на канал 👉@pythonofff
7 286
Разбиение строки в список
Вы можете разбить строку на список строк. В этом случае разбиение происходит по символу пробела
Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().
Split также имеет второй параметр, называемый maxsplit, который определяет максимальное количество разбиений. По умолчанию он равен -1 (без ограничений).
Подписывайтесь на канал 👉@pythonofff
7 286
map
У Python есть хорошая встроенная поддержка функционального программирования. Одной из самых полезных возможностей является функция map(), особенно в сочетании с лямбда-функциями
Здесь map() применяет простую лямбда-функцию на каждом элементе x и возвращает объект map, который можно преобразовать в какой-нибудь итерируемый объект вроде списка или кортежа
Подписывайтесь на канал 👉@pythonofff
7 286
howdoi
Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?
Тогда вам не обойтись без этого инструмента командной строки:
$ pip install howdoi
Задайте любой вопрос, и он постарается найти ответ на него
Подписывайтесь на канал 👉@pythonofff
7 286
geopy
Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:
$ pip install geopy
Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.
Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
Подписывайтесь на канал 👉@pythonofff
7 286
Метод get() у словарей и его «дефолтный» результат.
Немножко теории: метод get() возвращает значение для искомого ключа. Если ключ недоступен, возвращает значение по умолчанию.
Метод get() возвращает значение по ключу если такой ключ присутсвует в списке, если его нет, то метод возвращает дефолтное значение.
Если же мы напишем nameforuserid.get(5454) без указания «дефолтного» значения, то функция вернет None. Довольно удобно и практично.
Подписывайтесь на канал 👉@pythonofff
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
