en
Feedback
Python академия

Python академия

Open in Telegram

Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter

Show more
7 168
Subscribers
-124 hours
-127 days
-4930 days
Posts Archive
Чем defaultdict отличается от простого словаря? Если вы попытаетесь получить доступ к ключу, которого нет в словаре, он выдас
Чем defaultdict отличается от простого словаря? Если вы попытаетесь получить доступ к ключу, которого нет в словаре, он выдаст ошибку KeyError. В то время как при использовании defaultdict такой ошибки не будет. Если вы попробуете обратиться к отсутствующему ключу, defaultdict просто вернет значение по умолчанию. Синтаксис будет следующим: defaultdict(default_factory). При обращении к отсутствующему ключу функция default_factory вернет значение по умолчанию. Подписывайтесь на канал 👉@pythonofff

Время учить Python. 1 марта старт Подготовительного курса 🐍 ✔️Упражняемся в браузерном тренажере — учимся понимать и писать
Время учить Python. 1 марта старт Подготовительного курса 🐍 ✔️Упражняемся в браузерном тренажере — учимся понимать и писать код на Python.  ✔️Погружаемся в реальный продакшен — создаем конвертер валют вместе с наставником.  ✔️Размещаем изменения на GitHub — получаем основу для своего первого пет-проекта. 🆙 База по Python за 14 дней. На практике. За 990 рублей.

Пасхалка Модуль __future__ позволяет подключать функционал из будущих версий языка. Например, можно попробовать импортировать
Пасхалка Модуль __future__ позволяет подключать функционал из будущих версий языка. Например, можно попробовать импортировать фигурные скобки как в си-подобных языках. Но будет вызвано исключение, которое говорит "not a chance", что означает "ни единого шанса". Однако есть ещё один интересный момент, а именно — исходный код этого модуля. Оказывается, интерпретатор CPython сначала запускает файл future.c, когда встречается импорт этого модуля. А само это исключение реализовано на этой строчке. Подписывайтесь на канал 👉@pythonofff

Defaultdict Словарь представляет из себя неупорядоченный набор ключей и значений. В парах ключ:значение ключи должны быть уни
Defaultdict Словарь представляет из себя неупорядоченный набор ключей и значений. В парах ключ:значение ключи должны быть уникальны и неизменяемы. Поэтому список не может быть ключом словаря, так как он изменяемый. Подписывайтесь на канал 👉@pythonofff

Валидаторы данных Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных
Валидаторы данных Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных как, почта или ссылка, изобретать велосипед не нужно. Модуль validators позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок. Помимо этого, validators позволяет также работать с ipv4, ipv6, mac адресами и многим другим. В итоге, имеем лаконичный и простой модуль с хорошим функционалом. Подписывайтесь на канал 👉@pythonofff

UserDict Это класс-оболочка для словарей. Его синтаксис аналогичен UserList и UserString. Мы передаем словарь в качестве аргу
UserDict Это класс-оболочка для словарей. Его синтаксис аналогичен UserList и UserString. Мы передаем словарь в качестве аргумента, который хранится в атрибуте ‘data’. Подписывайтесь на канал 👉@pythonofff

🎁 Приглашаем на базовый урок по Machine Learning для начинающих «Деревья решений» в OTUS. 💪 Освоите популярный ML-алгоритм
🎁 Приглашаем на базовый урок по Machine Learning для начинающих «Деревья решений» в OTUS. 💪 Освоите популярный ML-алгоритм - "дерево решений". Узнаете, для каких задач его используют в машинном обучении и как правильно его применять на практике. 👉 Чтобы участвовать зарегистрируйтесь https://otus.pw/TrZV/ ⚡️Урок бесплатный и даёт возможность познакомиться с онлайн-курсом «Machine Learning». Это онлайн-курс, где вас ждут: — Живые вебинары, на которых эксперты поделятся уникальным опытом и трендами в Machine Learning — Решение реальных задач машинного обучения и групповой разбор заданий — Создание своего портфолио из готового проекта и выполненных заданий Реклама. Информация о рекламодателе на сайте www.otus.ru.

Список импортов по умолчанию Для ограничения импорта переменных, функций и классов по умолчанию можно использовать список __a
Список импортов по умолчанию Для ограничения импорта переменных, функций и классов по умолчанию можно использовать список __all__, в который записываются названия объектов, которые будут подключены. Таким образом, при импорте вида from module import * из модуля c подобной записью подключатся только объекты с названиями из списка __all__. Тем не менее, в примере выше импортировать функцию foo из такого модуля всё ещё можно, например, с помощью записи from module import foo. Подписывайтесь на канал 👉@pythonofff

Копируем объекты При присваивании переменной значения другой переменной, как правило, новый объект не создается, а копируется
Копируем объекты При присваивании переменной значения другой переменной, как правило, новый объект не создается, а копируется ссылка уже на существующий. Если использовать функцию copy из стандартной библиотеки, то новый объект будет создан, но его ссылки на другие объекты останутся такими же. В случае с deepcopy произойдет рекурсивное копирование. Например, при таком копировании списка все его элементы также скопируются как новые объекты. Подписывайтесь на канал 👉@pythonofff

Шаблоны строк для форматирования Класс Template из пакета string в стандартной библиотеке позволяет вполне удобно создавать ш
Шаблоны строк для форматирования Класс Template из пакета string в стандартной библиотеке позволяет вполне удобно создавать шаблоны строк для дальнейшего форматирования. Такой способ появился ещё в Python 2.4, как замена %-форматированию, но популярным так и не стал. Он поддерживает передачу значений по имени и использует $-синтаксис как в PHP. В новых проектах, конечно, используются чаще всего f-строки и иногда метод format, но всё же о Template стоит хотя бы знать на случай, если придется работать с легаси кодом. Подписывайтесь на канал 👉@pythonofff

Дизассемблирование При запуске программы на python, написанный код преобразуется в байт-код, который затем может быть запущен
Дизассемблирование При запуске программы на python, написанный код преобразуется в байт-код, который затем может быть запущен в интерпретаторе Python. Встроенный модуль dis позволяет дизассемблировать байт-код в удобное представление для просмотра его инструкций. Полный спсиок инструкций байт-кода с описанием можно посмотреть здесь. На картинке показана работа этого модуля на примере функции, но такое можно повторить и с классами – в таком случае все его функции будут дизассемблированы. Подписывайтесь на канал 👉@pythonofff

Рекомендуем к прочтению книгу Александра Бындю "Антихрупкость в IT" Эта книга — результат многолетнего опыта построения IT-пр
+3
Рекомендуем к прочтению книгу Александра Бындю "Антихрупкость в IT" Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения. В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо. Сайт издания Ознакомиться с книгой

Получаем список переменных Функция locals() возвращает словарь переменных из текущего пространства имён. Ключи словаря — назв
Получаем список переменных Функция locals() возвращает словарь переменных из текущего пространства имён. Ключи словаря — названия переменных, а значения — это их значения. С помощью похожей функции globals() можно получить все переменные конкретного модуля в таком же виде. Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем. Подписывайтесь на канал 👉@pythonofff

Создаем бесконечный итератор Функция cycle() из itertools принимает на вход итерируемый объект и создает бесконечный итератор
Создаем бесконечный итератор Функция cycle() из itertools принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта. Фишка заключается в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элемента. Но если вы проходитесь циклом по такому итератору, то важно предусмотреть выход из цикла, иначе он станет бесконечным (как у нас в первом случае на картинке). Мы также можем воспользоваться islice(), который вернет итератор по подмножеству переданного объекта. Подписывайтесь на канал 👉@pythonofff

3 интересных функции в random Этот пост более для тех, у кого есть соответствующий бэкграунд и кто хочет знать про random бол
3 интересных функции в random Этот пост более для тех, у кого есть соответствующий бэкграунд и кто хочет знать про random больше среднего. betavariate() — используется для получения случайного числа с плавающей запятой от 0 до 1 на основе бета-распределения (применяется для статистических расчетов). gauss() — генерирует случайное число с плавающей запятой на основе распределения Гаусса (используется в теории вероятности). paretovariate() — возвращает случайное число с плавающей запятой на основе распределения Парето (используется в теории вероятности). Подписывайтесь на канал 👉@pythonofff

Как удалить несколько ключей из словаря Python Python позволяет легко удалить из словаря не только один определенный ключ, но
Как удалить несколько ключей из словаря Python Python позволяет легко удалить из словаря не только один определенный ключ, но и несколько. Самый безопасный способ сделать это — перебрать список ключей и использовать метод .pop(). Подписывайтесь на канал 👉@pythonofff

Поиск в Google без открытия браузера Порой мы так глубоко погружаемся в написание кода, что нам неохота открывать браузер для
Поиск в Google без открытия браузера Порой мы так глубоко погружаемся в написание кода, что нам неохота открывать браузер для поиска нужной информации. Установив потрясающую библиотеку google, можно делать запрос в поисковик прямо в консоли. Подписывайтесь на канал 👉@pythonofff

Методы у словарей В этом посте поговорим про 3 простых метода у словарей, которые позволяет получить элементы в разном виде.
Методы у словарей В этом посте поговорим про 3 простых метода у словарей, которые позволяет получить элементы в разном виде. С помощью метода dict.keys() можно получить ключи словаря в виде списка, dict.values() — то же самое, но со значениями. А метод dict.items() возвращает список из кортежей, которые содержат ключи и соответствующие значения. Подписывайтесь на канал 👉@pythonofff

Извлечение аудио из видеофайлов Бывает так, что у нас есть mp4-файл, но нам нужна только звуковая дорожка из него. Скажем, чт
Извлечение аудио из видеофайлов Бывает так, что у нас есть mp4-файл, но нам нужна только звуковая дорожка из него. Скажем, чтобы сделать другое видео с таким же звуковым сопровождением. Эта проблема решается установкой библиотеки moviepy. Подписывайтесь на канал 👉@pythonofff

Аргументы и параметры командной строки Для обработки передаваемых аргументов и создания удобный интерфейс командной строки в
Аргументы и параметры командной строки Для обработки передаваемых аргументов и создания удобный интерфейс командной строки в python есть отличный модуль argparse. Для начала нам нужно создать объект парсера ArgumentParser, в который мы уже сможем добавить аргументы с нужными параметрами с помощью метода add_argument. Первым параметром add_argument принимает либо имя обязательного позиционного аргумента, либо список опционального аргумента (опциональный аргумент идентифицируется через -). Также у add_argument есть множество необязательных опциональных параметров для работы с передаваемым значением аргумента, о них можете почитать в данной статье. После добавления всех аргументов, нам нужно их спарсить с помощью метода parse_args, на выходе мы получим объект со всеми содержащимися аргументами. Подписывайтесь на канал 👉@pythonofff