en
Feedback
Python академия

Python академия

Open in Telegram

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

Show more
7 289
Subscribers
-324 hours
-197 days
-4730 days
Posts Archive
infinity Самая типичная проблема при написании некоторых сортировок — назначение самой большой переменной. Часто она решается
infinity Самая типичная проблема при написании некоторых сортировок — назначение самой большой переменной. Часто она решается простым вводом большого числа или возведением в степень. Это, конечно, не стареющая классика, но метод максимально не надежный, а главное есть более удачные способы float('infinity') или float('inf') для получения максимально возможного числа float('-infinity') или float('-inf') для получения минимально возможного числа. Не работает с int, требуется использовать именно float. Подписывайтесь на канал 👉@pythonofff

Получи грант на обучение в Центральном университете Центральный университет выдает гранты на 4 года обучения в бакалавриате.
Получи грант на обучение в Центральном университете Центральный университет выдает гранты на 4 года обучения в бакалавриате. Грант покрывает до 100% стоимости обучения. Участвуй в отборе, чтобы получить грант. Получи доступ к уникальным активностям для абитуриентов. Для выпускников 10-х, 11-х классов и колледжей. Подать заявку #реклама apply.centraluniversity.ru О рекламодателе

Избегайте пустого списка Пустой список нельзя использовать как аргумент по умолчанию в Python из-за того, что значения по умо
Избегайте пустого списка Пустой список нельзя использовать как аргумент по умолчанию в Python из-за того, что значения по умолчанию для аргументов функции вычисляются только один раз, при определении функции. Если вы попытаетесь использовать пустой список в качестве значения по умолчанию для аргумента функции, то он будет создан при определении функции и будет ссылаться на один и тот же объект в памяти каждый раз, когда функция вызывается. Это означает, что если внутри функции изменяется пустой список, то изменение будет сохранено в этом списке для всех последующих вызовов функции, так как все они будут использовать один и тот же объект списка. Это может привести к неожиданным и нежелательным результатам, так как изменение списка в одном вызове функции может повлиять на другие вызовы, которые рассчитывают на неизменность значения по умолчанию. Чтобы избежать подобных проблем, рекомендуется использовать в качестве значения по умолчанию неизменяемые объекты, такие как None, числа или строки. Если необходимо использовать изменяемый объект, то лучше создавать его внутри функции, чтобы каждый вызов функции работал с отдельным экземпляром объекта и не влиял на другие вызовы.

def my_function(my_list=None):
    if my_list is None:
        my_list = []
    my_list.append("element")
    print(my_list)

my_function()  # ["element"]
my_function()  # ["element"] (не изменяет значение по умолчанию)
В приведенном примере использовано None как значение по умолчанию для аргумента функции, и внутри функции создается новый пустой список, если аргумент не был передан. Это позволяет избежать проблем с изменяемыми объектами и гарантирует, что каждый вызов функции работает с отдельным списком, не влияя на другие вызовы. Подписывайтесь на канал 👉@pythonofff

Библиотека Progressbar Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение про
Библиотека Progressbar Думали ли вы когда-нибудь над полоской прогресса? Иногда бывает полезно добавить в код отображение прогресса, чтобы пользователь не беспокоился, что программа не отвечает. В первую очередь это касается синхронных приложений. Ведь, если наш код выполняет что-то одно, то на другие действия он не будет реагировать, ставя их в очередь. Ну и еще один вариант показывать, что программа не виснет, а думает, при этом не обязательно показывать прогресс. Все это очень интересно, но если мы начнем самостоятельно писать полосу прогресса, то отвлечемся от основного кода. К счастью, в python есть библиотека Progressbar, которая делает все за нас. Подписывайтесь на канал 👉@pythonofff

Библиотека schedule Гибкая библиотека для создания планировщика. Точнее с её помощью можно создавать задачи, которые будут вы
Библиотека schedule Гибкая библиотека для создания планировщика. Точнее с её помощью можно создавать задачи, которые будут выполняться с определенным интервалом. Промежуток настраивается как душе угодно и работает до выключения пользователем приложения. Конечно можно было использовать стандартный таймер, но зачем изобретать велосипед? С данной библиотекой планировка задач станет намного проще и понятнее другим программистам. Библиотеку необходимо установить: install schedule В примере используется seconds, но можно использовать minutes, hour, day.at("8:00"), monday, minute.at(":17"). Если добавлять at, то указываем во сколько именно произойдет событие. Подписывайтесь на канал 👉@pythonofff

Новый старт продаж АК ATLAS в Крыму, г. Судак. ✅ Открыты продажи нового комплекса Atlas Apart-Hotel & SPA на первой береговой
Новый старт продаж АК ATLAS в Крыму, г. Судак.Открыты продажи нового комплекса Atlas Apart-Hotel & SPA на первой береговой (в 30 метрах от моря) у подножия заповедной горы Алчак в Судакской бухте. Апартаменты в Крыму в собственность под управлением. Готовый арендный бизнес с доходностью 1,5 млн. в год. - Рассрочка 0% от застройщика индивидуально. - Доступна ипотека 8ми банков партнеров. - Оформление через эскроу-счет по ФЗ №214. - Площади от 42 - 102 м2. - SPA-центр с подогреваемым бассейном. - Панорамные виды из номеров на море и вулкан. ❤️ Лучшая цена только сейчас на старте продаж! - Для отдыха. - Для сохранения капитала и перепродажи. - Для получения дохода от сдачи в аренду. Перейти на сайт Финансовые услуги оказывает: ПАО Сбербанк, Банк ВТБ (ПАО). #реклама crimea-apart.ru О рекламодателе

Библиотека JmesPath Как вы уже заметили работать с json файлами в python очень удобно, ведь они отлично конвертируется в слов
Библиотека JmesPath Как вы уже заметили работать с json файлами в python очень удобно, ведь они отлично конвертируется в словарь. Также мы разобрали полезную библиотеку json, поэтому еще раз говорить о ней не будем. Но вот нам надо получить данные из файла. А формат json, как правило имеет множество вложений. Искать что-то нужное можно, но не всегда это удобно и красиво (а дзен Python говорит, что красота имеет значение) JmesPath облегчает работу в несколько раз. Вместо file['a']['b']['c'] можно написать jmespath.search('a.b.c', file). Кажется стало длиннее, но это потому что мы взяли мало элементов, и согласитесь a.b.c выглядит лучше. Даже отредактировать в случае чего будет проще. Подписывайтесь на канал 👉@pythonofff

Асинхронное программирование Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, что
Асинхронное программирование Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, чтобы выполнялось несколько задач одновременно. К примеру, пока копируются файлы можно было поиграть в игру. Это возможно благодаря нескольким ядрам и потокам. ВАЖНО! Асинхронность не обязательно делает код быстрее, но может повысить его эффективность. В момент простаивания процессор будет переключаться на другие задачи. На картинке программа, где повар готовит сразу несколько блюд. По другому бы нам пришлось по-очереди готовить каждое блюдо, но мы можем вернуться к другим, если поставили блюдо на огонь. Подписывайтесь на канал 👉@pythonofff

Концептуальные офисы в БЦ RUNOVSKY 14 Концептуальное офисное пространство для работы, расположенное в историческом центре Мос
Концептуальные офисы в БЦ RUNOVSKY 14 Концептуальное офисное пространство для работы, расположенное в историческом центре Москвы в районе Замоскворечье. Проект имеет свой неповторимый характер. Переосмысление стиля ар-деко нашло свое отражение в черных фасадах с арочным остеклением. БЦ находится в 2 минутах ходьбы от метро "Новокузнецкая", через которую проходят основные пешие маршруты до Третьяковской галереи, парка Зарядья и Московкского Кремля. Проектом предусмотрено большое количество планировочных решений офисов площадью от 27 м2 с возможностью объединения смежных помещений. Тех, кто решит купить лот в "RUNOVSKY 14", ждет премиальный сервис, безопасность и комфортная атмосфера. Перейти на сайт #реклама зиккурат.рф О рекламодателе

Как красиво напечатать json в Python? Вы можете использовать json.dumps() в Python, чтобы красиво напечатать json. Подписывай
Как красиво напечатать json в Python? Вы можете использовать json.dumps() в Python, чтобы красиво напечатать json. Подписывайтесь на канал 👉@pythonofff

Удаление дубликатов в списке Первое что приходит на ум — преобразовать список во множество и обратно. Это хороший и рабочий с
Удаление дубликатов в списке Первое что приходит на ум — преобразовать список во множество и обратно. Это хороший и рабочий способ. Но если вам нужно сохранить последовательность, то этот способ не подойдёт. С этой задачей легко справится OrderedDict из модуля collections Подписывайтесь на канал 👉@pythonofff

Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно. Кинопоиск
Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно. Кинопоиск и Яндекс Книги тоже в подписке. Попробуйте сейчас❤️ Попробовать #реклама 18+ music.yandex.ru О рекламодателе Реклама на Яндексе

Декораторы Очень важная тема, с помощью декорирования можно писать очень удобные логи или существенно расширять функции. Мног
Декораторы Очень важная тема, с помощью декорирования можно писать очень удобные логи или существенно расширять функции. Многие библиотеки работают с использованием декораторов: Flask и aiogram хорошие тому примеры. Мы показываем лишь простой пример, возможности куда шире. Позже покажем пример использования с упоминаемыми выше библиотеками. Подписывайтесь на канал 👉@pythonofff

Вывод значения по умолчанию для отсутствующего ключа словаря Если вы обратитесь к несуществующему ключу словаря, то это вызов
Вывод значения по умолчанию для отсутствующего ключа словаря Если вы обратитесь к несуществующему ключу словаря, то это вызовет исключение. Избежать этого можно, вызывая метод get. В примере метод выдает None (по умолчанию) или заданное значение аргумента. Подписывайтесь на канал 👉@pythonofff

Своя квартира в Екатеринбурге за 25тыс. ₽ в месяц! Современный мультифункциональный жилой комплекс комфорт-класса «Тишина». В
Своя квартира в Екатеринбурге за 25тыс. ₽ в месяц! Современный мультифункциональный жилой комплекс комфорт-класса «Тишина». Все квартиры сдаются с качественной отделкой класса Комфорт +. Выполнен полный ремонт в ванной комнате. Благоустроенная территория: Игровые площадки для разных возрастов Зона тренажеров Площадка для командных игр Комфортная среда: Система «умный дом» Безопасный двор без машин Безключевой доступ на территорию и в подъезд, с помощью приложения Видеонаблюдение по всей территории и в парадной Скоростные бесшумные лифты Колясочная Парковка для велосипедов Дизайнерская отделка парадной Гостевой санузел в холле парадной Выбрать квартиру: https://clck.ru/3FKevf Узнать больше Проектная декларация на сайте https://наш.дом.рф/. Застройщик: ООО СЗ ЖК ТИШИНА #реклама тишинадом.рф О рекламодателе

Контекстные менеджеры Контекстные менеджеры позволяют задать поведение при работе с конструкцией with: при входе и выходе из
Контекстные менеджеры Контекстные менеджеры позволяют задать поведение при работе с конструкцией with: при входе и выходе из блока. Это упрощает работу с ресурсами в части их захвата и освобождения; транзакциями, когда нужно либо полностью закончить транзакцию, либо откатить ее целиком. Простейшей функцией, использующей данный принцип является функция open. Каждый раз, когда мы открываем файл, нам необходимо его закрыть, чтобы вытолкнуть выходные данные на диск (на самом деле Python вызывает метод close автоматически, но явное его использование является хорошим тоном). Чтобы каждый раз не вызывать метод close мы можем воспользоваться контекстным менеджером функции open, который автоматически закроет файл после выхода из блока. Подписывайтесь на канал 👉@pythonofff

Как проверить существование переменной в Python? Вы можете использовать in locals() или in globals(), чтобы проверить перемен
Как проверить существование переменной в Python? Вы можете использовать in locals() или in globals(), чтобы проверить переменная существует в Python, разница только: in locals() проверяет если переменная объявлена в локальной зоне видимости in globals() проверяет если переменная объявлена в глобальной зоне видимости Подписывайтесь на канал 👉@pythonofff

Защита персональных данных – Повышение квалификации ⚡Узнаете все про работу с персональными данными, 152-ФЗ и трансграничную
Защита персональных данных – Повышение квалификации ⚡Узнаете все про работу с персональными данными, 152-ФЗ и трансграничную передачу данных — от практиков из Comply, ALUMNI Partners, Ozon, VK и др ✨ Юрист в сфере защиты персональных данных отвечает за сохранность личных данных пользователей, защиту компании от последствий утечек, структурирование отношений с обработчиками данных, их хранение. 🎓Программа обучения: » Управление рисками » Проверка регулятора » Составление документов » Выстраивание систем защиты и обработки персональных данных » Только в оптимальном тарифеData Protection Officer » Карьерное развитие Скидка до конца недели! Оставьте заявку сейчас и станьте ближе к успешной карьере юриста! ❤️ Узнать больше #реклама 16+ mosdigitals.ru О рекламодателе

"Быстрый" контейнер deque Встроенных списков в Python иногда может не хватать, поэтому покажем одну хорошую альтернативу. Deq
"Быстрый" контейнер deque Встроенных списков в Python иногда может не хватать, поэтому покажем одну хорошую альтернативу. Deque может быть реализован c помощью модуля collections. Deque предпочтительнее, чем обычный список, в тех случаях, когда нам нужны более быстрые операции добавления и вытягивания элементо из обоих концов контейнера, поскольку deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания по сравнению со списком, у которого сложность по времени для тех операций составляет O(n). Также для deque есть возможность использовать стандартные функции по типу sum, min, max и тому подобные. Подписывайтесь на канал 👉@pythonofff

Избегайте неоправданных циклов с коллекциями Предположим, что требуется создать новый список, элементами которого будут являт
Избегайте неоправданных циклов с коллекциями Предположим, что требуется создать новый список, элементами которого будут являться квадраты чисел данного списка. Большинство сразу же напишут простенький цикл for. Но в этом и проблема. Такой подход займет как минимум три строчки: объявление новой переменной, создание цикла и инструкции внутри него. При этом также снижается скорость работы скрипта. На прикрепленной картинке я привел две достойные альтернативы, а именно использование генератора списков и функции map. В обоих вариантах не только код становится короче и выразительнее, но и заметно повышается производительность. Подписывайтесь на канал 👉@pythonofff