en
Feedback
Python академия

Python академия

Open in Telegram

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

Show more
7 182
Subscribers
-224 hours
-107 days
-3930 days
Posts Archive
ChainMap ChainMap — это контейнерный тип данных, в котором хранится несколько словарей. Если у вас несколько связанных или по
ChainMap ChainMap — это контейнерный тип данных, в котором хранится несколько словарей. Если у вас несколько связанных или похожих словарей, зачастую их можно хранить вместе, в ChainMap. Распечатать все элементы ChainMap можно при помощи .map Подписывайтесь на канал 👉@pythonofff

Отсутствующие ключи в словаре При обращении по отсутствующему ключу в словаре мы получим исключение KeyError. Но мы можем пер
Отсутствующие ключи в словаре При обращении по отсутствующему ключу в словаре мы получим исключение KeyError. Но мы можем переопределить это поведение. Для этого создадим свой собственный класс словаря, унаследовавшись от dict. После чего нам просто необходимо переопределить метод __missing__, который вызывается в базовой реализации методом dict.__getitem__ при при адресации к отсутствующему ключу. Мы можем, например, возвращать какое-то дефолтное значение, либо определить любую другую необходимую логику поведения. Подписывайтесь на канал 👉@pythonofff

OrderedDict Словарь — это НЕупорядоченная коллекция пар ключ-значение. Однако OrderedDict поддерживает упорядочивание ключей.
OrderedDict Словарь — это НЕупорядоченная коллекция пар ключ-значение. Однако OrderedDict поддерживает упорядочивание ключей. Это в некотором роде подкласс словаря dict. Давайте создадим обычный словарь и сделаем его OrderedDict, чтобы показать, в чем заключается разница. Подписывайтесь на канал 👉@pythonofff

Конструктор класса У классов практически во всех языках есть конструкторы — это такие специальные методы, которые вызываются
Конструктор класса У классов практически во всех языках есть конструкторы — это такие специальные методы, которые вызываются автоматически и инициализируют экземпляр класса. В Python конструкторы в классах имеют название __init__(), и их почти всегда переопределяют. Делается это для того, чтобы назначить свойства объекту и выполнить предварительные действия. Первым аргументом конструктор всегда принимает объект класса, который обозначается как self. Подписывайтесь на канал 👉@pythonofff

Counter Объект counter предоставляется библиотекой collections. Давайте поподробнее разберем, что он собой представляет. К пр
Counter Объект counter предоставляется библиотекой collections. Давайте поподробнее разберем, что он собой представляет. К примеру, у вас есть список каких-то случайных чисел. Что, если вы хотите узнать, сколько раз встречается каждое число? Счетчик counter позволяет легко вычислить частоту. Он работает не только с числами, но и с любым итерируемыми объектами, такими как строки и списки. Подписывайтесь на канал 👉@pythonofff

Получаем и задаем лимит рекурсии В Python не оптимизируется хвостовая рекурсия, из-за чего зачастую возникает RecursionError
Получаем и задаем лимит рекурсии В Python не оптимизируется хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов. Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Хотя делать это слегка опасно, так как каждый новый вызов занимает много памяти. И вообще лучше стараться использовать не рекурсию, а обычные циклы, но это вы и так сами знаете. Подписывайтесь на канал 👉@pythonofff

Sample Project Sample Project — это пакет-шаблон с файлом setup.py для ручной установки пакета. Файл снабжен аннотациями, кас
Sample Project Sample Project — это пакет-шаблон с файлом setup.py для ручной установки пакета. Файл снабжен аннотациями, касающимися настройки скрипта и среды сборки пакета в целом. Основан Sample project на пакете setuptools. setup.py — это скрипт сборки для пакетов, созданных с помощью setuptools. Подписывайтесь на канал 👉@pythonofff

Делаем планировщик задач К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и по
Делаем планировщик задач К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и повторять их через промежуток времени. Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще schedule не требует внешних зависимостей и сам в целом легковесный. Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах. Подписывайтесь на канал 👉@pythonofff

Что такое метод? Метод — это такая функция, которую можно использовать для определенного типа данных. Существуют строковые ме
Что такое метод? Метод — это такая функция, которую можно использовать для определенного типа данных. Существуют строковые методы, методы для работы с целыми числами, методы списков, словарей и т.д. Методы могут принимать или не принимать аргументы. В целом, это методы — это встроенные функции, которые делают вашу жизнь намного проще. Иногда вы можете задаться вопросом, существует ли какой-то метод. В Python можно посмотреть весь список строковых методов, используя функцию dir() со строкой в качестве аргумента. Подписывайтесь на канал 👉@pythonofff

Проверка отношения классов Для того, чтобы проверить отношения двух классов или экземпляров (является ли класс классом наслед
Проверка отношения классов Для того, чтобы проверить отношения двух классов или экземпляров (является ли класс классом наследником), есть две простые встроенные функции isinstance(object, classinfo) и issubclass(class, classinfo). instance - возвращает True, если объект является экземпляром класса либо экземпляром подкласса данного класса. issubclass — проверяет является ли класс наследником другого класса. Данные функции зачастую применяются в ООП. Подписывайтесь на канал 👉@pythonofff

Отвлекитесь от экрана — оторвитесь на ИТ-пикнике 17 августа ИТ-специалисты, приходите с семьей и друзьями, чтобы побыть среди
Отвлекитесь от экрана — оторвитесь на ИТ-пикнике 17 августа ИТ-специалисты, приходите с семьей и друзьями, чтобы побыть среди своих, пообщаться вживую и ярко провести летний выходной. У фестиваля больше 17-ти ИТ-партнеров. Вас ждут воркшопы, лекции от спикеров известных компаний, нетворкинг, выступления топовых музыкантов и даже детская зона. Хедлайнер вечера — Леонид Агутин, а еще будут TRITIA, Дайте танк (!), Драгни, Найк Борзов, Нееет, ты что. Вы же не пропустите такое событие? Успейте зарегистрироваться erid:2Vtzqw5Eta7 Реклама. АО "ТБанк", ИНН 7710140679, лицензия ЦБ РФ № 2673

Как заменить атрибут в именованном кортеже Что делать, если значение одного атрибута необходимо изменить? Вам нужно обновить
Как заменить атрибут в именованном кортеже Что делать, если значение одного атрибута необходимо изменить? Вам нужно обновить его в данных. Для этого просто воспользуемся методом ._replace() Подписывайтесь на канал 👉@pythonofff

Пишем обратно совместимый код С помощью пакета six можно писать код, который запустится и на Python 2, и на Python 3. То есть
Пишем обратно совместимый код С помощью пакета six можно писать код, который запустится и на Python 2, и на Python 3. То есть код получается обратно совместимым. Для этого в пакете есть все типы, функции и некоторые модули стандартной библиотеки, которые под капотом работают по-разному в зависимости от версии языка. Например, в пакете поддерживаются tkinter и urllib. Подписывайтесь на канал 👉@pythonofff

Как создать namedtuple из словаря в Python Вы заметили, как мы преобразовали словарь в именованный кортеж с помощью оператора
Как создать namedtuple из словаря в Python Вы заметили, как мы преобразовали словарь в именованный кортеж с помощью оператора **? Все, что вам нужно сделать для этого — определить структуру namedtuple и передать словарь (**dict) этому именованному кортежу в качестве аргумента. Единственное требование заключается в том, что ключи словаря должны совпадать с именами полей namedtuple. Подписывайтесь на канал 👉@pythonofff

Получите диплом от НИТУ МИСИС в веб-разработке Яндекс Практикум и НИТУ МИСИС приглашают на онлайн-программу «Веб-разработчик»
Получите диплом от НИТУ МИСИС в веб-разработке Яндекс Практикум и НИТУ МИСИС приглашают на онлайн-программу «Веб-разработчик» Полноценная учёба в онлайн-формате Зачёты, сессии, лекции и семинары с гибким графиком. На платформе Практикума Гибкая теория, автоматическая проверка заданий и встроенная YandexGPT. Преподаватели НИТУ МИСИС и наставники Яндекс Практикума Они будут проводить занятия и учить вас применять теорию на практике. Студенческий, льготы и диплом гособразца У вас будут все преимущества студента-очника. Доступ к инфраструктуре вуза — кампусам, библиотекам и мероприятиям. Оплатить учёбу можно разными способами: всю сумму сразу, по семестрам или с помощью госкредита — тогда ежемесячный платёж составит от 500 ₽, а государство погасит часть кредита за вас. Подать заявку #реклама 16+ practicum.yandex.ru О рекламодателе

Операции с zip архивами Для работы с zip файлами можно использовать встроенный модуль zipfile. Если кто не помнит, то zip фай
Операции с zip архивами Для работы с zip файлами можно использовать встроенный модуль zipfile. Если кто не помнит, то zip файл — это архив, содержащий сжатые файлы. Просмотреть содержимое архива можно с помощью функции printdir, а извлечь все файлы можно вызвав extractfile. Также этот модуль позволяет создавать свои zip архивы, но мы решили не усложнять пример, поэтому просто прикладываем ссылку на документацию. Подписывайтесь на канал 👉@pythonofff

OrderedDict Словарь — это НЕупорядоченная коллекция пар ключ-значение. Однако OrderedDict поддерживает упорядочивание ключей.
OrderedDict Словарь — это НЕупорядоченная коллекция пар ключ-значение. Однако OrderedDict поддерживает упорядочивание ключей. Это в некотором роде подкласс словаря dict. Давайте создадим обычный словарь и сделаем его OrderedDict, чтобы показать, в чем заключается разница. Подписывайтесь на канал 👉@pythonofff

Высшее образование дистанционно Московский технологический институт от 5300 ₽/мес. Набор в июле! — Высшее образование в моско
Высшее образование дистанционно Московский технологический институт от 5300 ₽/мес. Набор в июле! — Высшее образование в московском вузе без выезда на сессии. — Полностью дистанционный онлайн-формат. — Обучайся дома, на работе, в путешествии. — Диплом государственного образца. — 57 направлений и программ обучения. — Программа колледж + вуз без ЕГЭ. Скидка 10% на обучение при оплате за год. Перейти на сайт #реклама 16+ tl.mti.edu.ru О рекламодателе

Аннотация типов Тайп хинтинг был добавлен в python еще в версии 3.5 вместе с библиотекой typing, в которой содержались структ
Аннотация типов Тайп хинтинг был добавлен в python еще в версии 3.5 вместе с библиотекой typing, в которой содержались структуры нужные для создания дженериков для аннотирования переменных. Тогда синтаксис аннотирования работал при инициализации переменных. В последствии в версии 3.6 эта возможность была расширена и стало возможно объявлять типы переменных вообще в любом месте кода. В python 3.9 была добавлена возможность использовать в качестве дженериков для аннотирования встроенные коллекции, вместо структур typing'а (List, Dict, Tuple...). И наконец в 3.10 на замену перечисления возможных принимаемых типов через typing.Union пришел опреатор | (or). Также в 3.10 был изменен синтаксис создания тайпалиасов, чтобы разграничить с присваиванием переменной, теперь лучше это делать непосредственно через TypeAlias. Подписывайтесь на канал 👉@pythonofff

Метод join у строк У строк есть полезный метод str.join(), который принимает на вход итерируемый объект, элементами которого
Метод join у строк У строк есть полезный метод str.join(), который принимает на вход итерируемый объект, элементами которого также должны быть строки. Как результат получаем новую строку, которая является объединением всех элементов. При этом они разделены строкой, к которой изначально применялся метод. Проще говоря, если применить к строке этот метод, то она станет разделителем для элементов в новой строке. Подписывайтесь на канал 👉@pythonofff