Python академия
Ir al canal en Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
Mostrar más7 092
Suscriptores
-224 horas
-117 días
-3530 días
Archivo de publicaciones
7 092
Объединение двух словарей
В Python 2 для соединения двух словарей мы использовали метод update(). В Python 3.5 процесс еще проще.
В этом же скрипте объединены два словаря. В случае пересечения используются значения из второго словаря.
Подписывайтесь на канал 👉@pythonofff
7 092
Очистка элементов в последовательности
Встроенный модуль itertools был создан для работы с более сложными случаями итераторов. Плюс модуля в том, что он быстро работает и оптимизирован в плане памяти.
Иногда возникает необходимость в удалении ненужных объектов последовательности. Как раз для этого и используют itertools, а именно метод compress.
Первым аргументом передается какой-либо контейнер, например список. Вторым аргументом — логические значения, соответствующие элементам в последовательности.
Если логическое значения равно True или 1, то элемент сохраняется в последовательности, в противном случае — удаляется из нее.
Подписывайтесь на канал 👉@pythonofff
7 092
Склеивание n строк в одну
С помощью этого фрагмента можно сильно сэкономить память. Достаточно записать строку n раз без использования циклов
Подписывайтесь на канал 👉@pythonofff
7 092
Время исполнения программы
Зачастую требуется замерить время исполнения кода, чтобы понять, насколько оптимальное решение было выбрано.
Как вариант, можно воспользоваться функцией time из модуля time, которая возвращает текущее время в формате Unix.
Перед исполнением нашего кода сохраним начальное время, а после — конечное. Путем вычета первого из второго и получим время исполнения программы.
Использование time.time() — не самый точный и лучший вариант, но, например, для быстрого сравнения двух разных частей кода подходит хорошо.
Подписывайтесь на канал 👉@pythonofff
7 092
Ищем учеников на бесплатный интенсив по созданию искусственного интеллекта с нуля. Опыт программирования не важен!🤖
Гарантия трудоустройства всем выпускникам университета! Удаленная работа из любой точки мира!
Всего за 3 вечера под руководством Дмитрия Романова - основателя Университета Искусственного Интеллекта, лидера обучения AI-разработке в РФ и СНГ, вы с легкостью напишете свой первый искусственный интеллект👨💻
Какие нейронные сети вы создадите?
👉Классификация марок молока
👉Классификация людей на входящих и выходящих из автобуса
👉Обнаружение возгораний
👉Оценка стоимости квартир
👉Классификация отзывов на Teslа
👉Оценка резюме соискателей
👉Прогнозирование стоимости полиметаллов
👉Сегментация изображений самолетов
👉Распознавание команд умного дома⠀
Лучше освоить навыки создания нейронных сетей вам помогут домашние задания с проверкой от кураторов.⠀
Приходите на бесплатный интенсив и напишите искусственный интеллект за 3 вечера💪
Регистрируемся тут
7 092
Наличие дублей
Проверяет, есть ли в списке повторяющиеся значения, пользуясь тем, что set()содержит только уникальные элементы
Подписывайтесь на канал 👉@pythonofff
7 092
Списковые включения
На основе итерируемых объектов можно удобно и без циклов строить списки в одну строчку — такой синтаксис называется списковыми включениями.
Сейчас подробнее разберем именно списки, но по такому же принципу можно создавать и словари.
В квадратных скобках вы пишите самую обычную конструкцию цикла for, но само выражение ставите перед ключевым словом for. Также можно добавлять условия в конце записи.
Как правило, списковые включения работают заметно быстрее, чем циклы. Однако, злоупотреблять этим не рекомендуется, так как это зачастую снижает читаемость кода.
Подписывайтесь на канал 👉@pythonofff
7 092
Разница между списками
Возвращает разницу между двумя списками после применения функции к каждому элементу обоих списков.
Подписывайтесь на канал 👉@pythonofff
7 092
Получаем информацию о памяти на диске
Со встроенным модулем shutil многие уже, вероятно, знакомы, но его обычно используют в контексте задач копирования, переноса файлов и папок.
Но с помощью shutil мы можем даже получить информацию о памяти на жестком диске компьютера. Метод disk_usage возвращает количество всей, занятой и свободной памяти.
Так как все три значения возвращаются в байтах, в примере мы их перевели и вывели в гигабайты для лучшей наглядности.
Подписывайтесь на канал 👉@pythonofff
7 092
Проверка необходимой версии Python
Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.
Подписывайтесь на канал 👉@pythonofff
7 092
Находим наименьшие и наибольшие
В стандартной библиотеке есть модуль heapq, который, как можно понять по названию, реализует структуру даных куча.
Особенности и пользу этой структуры данных пока что разбирать не будем, но посмотрим на два интересных метода в этом модуле.
С помощью методов nsmallest и nlargest можно получить наименьшие и наибольшие элементы в списке.
Первым аргументов передается, сколько элементов нужно взять, вторым — список.
Подписывайтесь на канал 👉@pythonofff
7 092
all or any: все или хоть что-нибудь
Python – удивительно простой и выразительный язык. Его даже иногда называют «выполняемым псевдокодом». И с этим трудно поспорить, когда вы можете себе позволить конструкции
Подписывайтесь на канал 👉@pythonofff
7 092
Статические методы
Отличие статических методов от обычных в том, что они привязаны к классу, а не объекту. То есть они могут быть вызваны напрямую у класса.
Статический метод не принимает ни объект (self), ни класс (cls) в аргументах. То есть такие методы не могут модифицировать ни объект, ни сам класс.
Реализовать статический метод можно двумя способами. Один из них — присвоить классу новый метод, напрямую передав изначальный метод в функцию staticmethod.
Но так делать не принято, поэтому чаще всего staticmethod используют в качестве декоратора при написании методов прямо в классе.
Подписывайтесь на канал 👉@pythonofff
7 092
🧨 Старт набора на продвинутый онлайн-курс «MLOps»
Ответьте на 10 вопросов и проверьте, насколько вы готовы к обучению на практическом курсе «MLOps» от OTUS.
📌 Хотите научиться использовать современные инструменты MLOps?
Начните их осваивать на открытых уроках онлайн-курса:
👨💻 DataFrame API: от Pandas к Dask, 3 ноября — https://otus.pw/B8xk/
💻 DataFrame API: от Dask к PySpark, 16 ноября — https://otus.pw/4edG/
Время прохождения теста ограничено 30 минут
👉 Пройдете вступительный тест — сможете занять место в группе по спец.цене
https://otus.pw/RvN6/
7 092
Многоточие в Python
Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python
Подписывайтесь на канал 👉@pythonofff
7 092
Создаем виртуальное окружение
Виртуальное окружение — это изолированная среда, которая имеет свои локальные интерпретатор и пакеты, независимые от глобального интерпретатора и других окружений.
В стандартной библиотеке Python третьей версии есть пакет venv, который позволяет создавать виртуальные окружения удобно и быстро. Пример представлен на картинке.
Скрипт activate в директории bin предназначен для активации окружения, а команда deactivate в уже активированном окружении — для выхода из него.
В случае успешного создания и активации у вас в терминале должно появится название вашего виртуального окружения в круглых скобках.
Подписывайтесь на канал 👉@pythonofff
7 092
Перемешивание
Располагает элементы списка в произвольном порядке. Обратите внимание: shuffle работает в обычном порядке и возвращает None.
Подписывайтесь на канал 👉@pythonofff
7 092
Завершение программы
Функция exit создана для удобства работы в интерактивном режиме, однако не рекомендуется использовать её внутри скриптов.
По факту функция просто поднимают исключение SystemExit. А при попытке вызова без скобок напишут подсказку о правильном способе выхода из интерпретатора.
Использовать sys.exit() стоит потому, что этот метод лежит в стандартном модуле и всегда там доступен. Также это довольно явный способ завершения программы.
Подписывайтесь на канал 👉@pythonofff
7 092
Функция enumerate для получения пар индекс-значение
Функция enumerate() применяется в случаях, когда необходим счётчик количества элементов в последовательности. Позволяет избавиться от необходимости инициировать и обновлять отдельную переменную-счётчик.
Подписывайтесь на канал 👉@pythonofff
7 092
Создаем пакеты
Пакет в Python — это, грубо говоря, папка с другими папками и модулями. Помимо разделения частей проекта, пакеты нужны для формирования пространства имен, чтобы можно работать с пакетами и модулями через точку, как в примере выше.
При импорте вида from package import * будет подключены либо все модули и объекты модуля __init__.py, либо то, что находится в переменной __all__ в том же модуле __init__.py — подробнее про эту переменную было в посте ранее.
Также примечателен файл init.py, который раньше был обязателен для создания пакетов. С версии Python 3.3 его необходимость пропала. Однако его функциональность на этом не заканчиваются.
Подписывайтесь на канал 👉@pythonofff
