Параметры функции *args, **kwargs
Думаю, многие хоть раз видели такую запись, сейчас мы узнаем, что это за магические символы. Сообщу сразу, что параметры функции *args и **kwargs – общепринятые имена переменных, а разбирать мы будем звездочки перед ними.
В примере функция принимает обязательный аргумент value, а остальных аргументов она как бы не ожидает. В таком случае *args упаковывает все не именованные аргументы в кортеж, а **kwargs – все именованные в словарь.
В целом, конструкция с *args, **kwargs получается достаточно полезной, если мы не знаем, кто и в каких целях будет использовать нашу функцию. То есть, мы можем запихнуть в аргументы после такого практически всё.
Подписывайтесь на канал 👉@pythonofff
Конвертер MP4 видео в GIF анимацию на Python
С помощью Python можно конвертировать видео в формате MP4 в анимированные GIF изображения. Разумеется, с этой задачей прекрасно справляются готовые приложения. Однако создание собственного конвертера средствами Python – интересный и полезный опыт.
В этом руководстве мы рассмотрим следующие задачи:
Извлечение кадров из MP4 видео.
Конвертацию кадров в GIF анимацию.
Создание пользовательского интерфейса для программы-конвертера.
Подробнее
Газпромбанк обновил мобильное приложение 📲
Дизайн стал лаконичнее, навигация — понятнее, а все привычные продукты остались под рукой. Еще попрощались с названием «Телекард 2.0». Теперь просто: Газпромбанк.
Это первый этап глобальных изменений приложения. Дальше — больше 💪 Присоединяйтесь к команде IT-специалистов Газпромбанка и меняйте один из крупнейших банков страны. Актуальные вакансии > https://vk.cc/cbMBf4
Как сделать интерактивную карту с маршрутами на Python
Распространённая задача программистов в работе с геопространственными данными — отобразить маршруты между различными точками.
Подробнее
В одну строку - итератор
Вы уже знаете, как писать многие крутые штуки в одну строчку. Но можно ускорить работу кода, используя итераторы.
Итератор - объект, который хранит начало, конец, текущий элемент и правило преобразований. В итоге мы можем получать только новые значения.
Преимущество в том, что итераторы потребляют намного меньше памяти, чем списки и кортежи.
Вы уже точно знаете один итератор и даже пользуетесь им - range().
А есть еще один очень полезный - map(). Он принимает два аргумента, функцию для задания правила преобразования и что-то, что требуется преобразовать.
Подписывайтесь на канал 👉@pythonofff
📚 Как писать тесты для проекта на Django?
Расскажет 14 марта в 20:00 на вебинаре в OTUS Леонид Орлов, главный разработчик zval ru.
Demo-занятие пройдет в рамках онлайн-курса «Web-разработчик на Python». Сначала вместе с экспертом мы напишем тесты с помощью библиотеки requests, а затем и с помощью Django-тестов. Открытый вебинар рассчитан на разработчиков, желающих специализироваться на web-разработке.
👉 Для участия пройдите вступительный тест https://otus.pw/z8ou/
«Что я получу, если смешаю корень златоцветника и настойку полыни?» или 10 вопросов для Junior Python-разработчика
Стать Python-разработчиком после PHP оказалось сложнее, чем подняться на Оштен (гора Кавказского хребта, 2804 метра). Нет, подняться на Оштен вполне посильная задача, нужна небольшая подготовка. Вот и я думал, что три года опыта коммерческой разработки на PHP мне дадут крылья.
Подробнее
Как отправить xml запрос в Python?
Чтобы отправить post-запрос с xml-содержимым, Вы можете воспользоваться библиотекой requests
Посмотреть пример.
Подписывайтесь на канал 👉@pythonofff
Стать тестировщиком — легко! Присоединяйтесь к бесплатному онлайн-интенсиву 14–16 марта в 16:00 по московскому времени. Вы погрузитесь в процессы тестирования и за 3 дня пройдёте путь от основ юзабилити до автотестов. Попрактикуетесь на реальных задачах и узнаете, как стать гуру в востребованной профессии.
Регистрация уже идёт: 👉 https://clc.to/LXtCow.
На интенсиве узнаете:
✔️ какие soft и hard skills нужны крутому специалисту;
✔️ каковы принципы тестирования и ключевые инструменты;
✔️ каких трёх правил юзабилити нужно придерживаться;
✔️ как качественно описать баг;
✔️ что представляет собой популярное расширение Selenium IDE.
Спикер интенсива — инженер по тестированию в Яндексе, организатор тест-сессий, митапов по тестированию и мастер-классов, участник конференций SQA-days, TechTrain и CodeFest Дмитрий Якин.
🎁 Участвуйте и прокачайте знания! Получите в подарок подборку полезных материалов при регистрации и электронную книгу «Человек + машина», когда дойдёте до конца интенсива. Всем, кто сдаст практическую работу, дарим сертификаты на 10 тысяч рублей на любой курс Skillbox.
Оптимизация использования памяти в Python-приложениях
Когда заходит разговор об оптимизации производительности приложений, обычно основное внимание уделяют лишь скорости процессора и уровню его использования. Редко кого заботят соображения, касающиеся потребления памяти. Ну — до тех пор, пока программа не исчерпает доступную ей RAM.
ПодробнееOriginal
Как записать список в csv файл на Python?
Для записи в csv-файл определенного массива, Вы можете воспользоваться библиотекой csv.
В примере мы показываем, как будем записывать весь список в один столбец и в одну строку.
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Разбираешься в Blockchain, Python и Data Science?
Тогда регистрируйся на хакатон «ТИМ ФОРС Альянс» с призовым фондом 500 000 рублей!
🗓 Даты хакатона: 11-13 марта 2022 года
📌 Дедлайн регистрации: 9 марта 23:59
👉 Регистрация: https://tfalliance.ru
Платформа токенизации проектных ИТ-команд «ТФ Альянс» с 11 по 13 марта 2022 года проводит онлайн-хакатон, в рамках которого участникам предстоит решить одну из трех задач на выбор:
• Разработать инструмент для обеспечения взаимосвязи блокчейнов реестра транзакций и реестра состояний
• Создать систему учета метрик для оценки эффективности работы специалистов и команд в проектных задачах
• Разработать робота-ассистента на основе Telegram-бота для тематической буферизации сообщений
Участники поборются за проживание в HackerHome в Иннополисе, возможность трудоустройства в компанию, а также призовой фонд в размере 500 000 рублей!
Подробности и регистрация: https://tfalliance.ru
Пишем ТЕЛЕГРАМ бот на PYTHON с нуля
В данном видео напишем телеграм бота на python для получения информации о курсе криптовалюты с биржи Binance. В качестве библиотеки для написания бота использована aiogram. Это самая продвинутая и стабильная библиотека для создания телеграм ботов. А так же, в видео предоставлена подробная инструкция по деплою бота на хостинг Heroku.
Код на GitHubИсточник
Почему присвоение не является копированием?
В python все является объектом. В этом легко убедится воспользовавшись функцией dir().
При присвоении в новую переменную отправляется ссылка на объект. А при изменении объекта ссылка на него не меняется.
Тут многие могут спросить про строки и числа, поэтому отвечаю — с ними то же самое. Просто при операциях не изменяется старый объект, а создается новый. Все это можно проследить воспользовавшись функцией id(), которая показывает номер объекта.
Интересно то, что за частью чисел в языке на программном уровне закреплена ссылка на объект. Можете попробовать сами.
Подписывайтесь на канал 👉@pythonofff
Почему я начал использовать аннотации типов в Python – и вам тоже советую
Впервые услышав об аннотациях типов, я ими не впечатлился. Думал, что аннотации типов – это какой-то костыль на уровне языка Python.
Идея указывать типы в языке с динамической типизацией показалась мне, мягко говоря, странной, учитывая, что динамическая природа Python годами меня устраивала.
ПодробнееСтатья на Eng
Копирование словарей и других объектов
Новички часто допускают такую ошибку при создании копии списка:
lst2 = lst1
При работе с одним из словарей оказывается, что изменяются оба.
Почему так происходит?
Об этом — в завтрашнем посте. Пока что расскажу, как этого избежать:
У списка существует специальный метод copy(), который нужен как раз для таких случаев.
Но подобное работает не всегда! Если имеется множество вложенных списков, то надо сделать полное копирование импортировав модуль copy и воспользовавшись методом deepcopy().
Подписывайтесь на канал 👉@pythonofff