🎼 Переносим треки из Яндекс.Музыки в Spotify с помощью Python
Используя Python и Selenium, получим все плейлисты и альбомы из Яндекс.Музыки, а с помощью библиотеки spotipy перенесем фонотеку в Спотифай.
https://proglib.io/sh/h2ZBCo7sVG
Используя Python и Selenium, получим все плейлисты и альбомы из Яндекс.Музыки, а с помощью библиотеки spotipy перенесем фонотеку в Спотифай.
https://proglib.io/sh/h2ZBCo7sVG
Нелокальная переменная во вложенной функции
Прежде чем перейти к тому, что такое замыкание, мы должны сначала понять, что такое вложенная функция и нелокальная (nonlocal) переменная.
Функция, определенная внутри другой функции, называется вложенной функцией. Вложенные функции могут получать доступ к переменным из локальной области видимости объемлющих функций (enclosing scope).
В Python нелокальные переменные по умолчанию доступны только для чтения. Если нам необходимо их модифицировать, то мы должны объявить их явно как нелокальные (используя ключевое слово nonlocal).
Прежде чем перейти к тому, что такое замыкание, мы должны сначала понять, что такое вложенная функция и нелокальная (nonlocal) переменная.
Функция, определенная внутри другой функции, называется вложенной функцией. Вложенные функции могут получать доступ к переменным из локальной области видимости объемлющих функций (enclosing scope).
В Python нелокальные переменные по умолчанию доступны только для чтения. Если нам необходимо их модифицировать, то мы должны объявить их явно как нелокальные (используя ключевое слово nonlocal).
Что такое метаклассы — короткий обзор
Предположим, что вы знаете разницу между классами и объектами. Тогда метаклассы не должны быть для вас слишком уж сложными. Если кратко, то они являются классами для классов (отсюда и «мета» в их названии).
Проще говоря, в то время как классы являются чертежами для объектов, метаклассы являются чертежами для классов. Класс является описанием, когда мы создаем его экземпляр, тогда как метакласс является описанием класса, и существует только когда определен класс.
Самая простая реализация метакласса, которая ничего не делает, выглядит следующим образом
Предположим, что вы знаете разницу между классами и объектами. Тогда метаклассы не должны быть для вас слишком уж сложными. Если кратко, то они являются классами для классов (отсюда и «мета» в их названии).
Проще говоря, в то время как классы являются чертежами для объектов, метаклассы являются чертежами для классов. Класс является описанием, когда мы создаем его экземпляр, тогда как метакласс является описанием класса, и существует только когда определен класс.
Самая простая реализация метакласса, которая ничего не делает, выглядит следующим образом
Игра RE:Tail от Х5 Tech
Осторожно! В городе орудует злобный хакер, который сломал все процессы и поставил будущее под угрозу. Мир ждёт суперспеца, настоящего властелина кода, который поможет ритейлерам возродиться. Но кто же этот герой?
Хорошая новость: это не сводка сегодняшних новостей. Новость ещё лучше: выше описание новой онлайн-игры от X5 Tech «Re:tail», в которой именно ты сможешь продемонстрировать своё искусство покорения кода! Каждого участника ждут увлекательные задания с элементами искусственного интеллекта, 7 пасхалок и 1 скрытая мини-игра.
Переходи по ссылке, победи злодея и помоги построить ритейл будущего! https://re-tail.geecko.com
Осторожно! В городе орудует злобный хакер, который сломал все процессы и поставил будущее под угрозу. Мир ждёт суперспеца, настоящего властелина кода, который поможет ритейлерам возродиться. Но кто же этот герой?
Хорошая новость: это не сводка сегодняшних новостей. Новость ещё лучше: выше описание новой онлайн-игры от X5 Tech «Re:tail», в которой именно ты сможешь продемонстрировать своё искусство покорения кода! Каждого участника ждут увлекательные задания с элементами искусственного интеллекта, 7 пасхалок и 1 скрытая мини-игра.
Переходи по ссылке, победи злодея и помоги построить ритейл будущего! https://re-tail.geecko.com
👍1
Что такое *args и kwargs? (ч.1)
Иногда нельзя предсказать, сколько аргументов получит функция. Чтобы обработать их, используются специальные конструкции *args и kwargs.
На самом деле названия переменных – args, kwargs – это просто соглашение. Важны здесь только звездочки. Они обозначают сборку аргументов в коллекцию (список или словарь). Одна звездочка предназначена для обычных аргументов, две – для именованных.
Иногда нельзя предсказать, сколько аргументов получит функция. Чтобы обработать их, используются специальные конструкции *args и kwargs.
На самом деле названия переменных – args, kwargs – это просто соглашение. Важны здесь только звездочки. Они обозначают сборку аргументов в коллекцию (список или словарь). Одна звездочка предназначена для обычных аргументов, две – для именованных.
🔥1
Библиотека питониста | Python, Django, Flask pinned «Чему бы вы хотели научиться?»
Что такое *args и kwargs? (ч.2)
Можно заменить *args на *vars, а kwargs на options или другое слово. Программа будет работать корректно, но другие разработчики могут вас не понять.
Конструкции *args и kwargs можно использовать как самостоятельно, так и в комбинации с любым количеством обычных аргументов. Например, в коде выше первый параметр farg обрабатывается отдельно, а все остальные собираются в коллекцию.
Можно заменить *args на *vars, а kwargs на options или другое слово. Программа будет работать корректно, но другие разработчики могут вас не понять.
Конструкции *args и kwargs можно использовать как самостоятельно, так и в комбинации с любым количеством обычных аргументов. Например, в коде выше первый параметр farg обрабатывается отдельно, а все остальные собираются в коллекцию.
👍1
Мир регулярных выражений
Иногда непросто очистить текст с помощью определенных символов или фраз. Вместо этого нам необходимо использовать некоторые шаблоны. И здесь нам на помощь приходят регулярные выражения и соответствующий модуль Python.
Мы не будем обсуждать всю мощь регулярных выражений, а сосредоточимся на их применении — например, на разделении и замене данных.
Иногда непросто очистить текст с помощью определенных символов или фраз. Вместо этого нам необходимо использовать некоторые шаблоны. И здесь нам на помощь приходят регулярные выражения и соответствующий модуль Python.
Мы не будем обсуждать всю мощь регулярных выражений, а сосредоточимся на их применении — например, на разделении и замене данных.
Forwarded from Книги для программистов
Есть опыт и знания в IT, которыми Вы хотите поделиться?
Станьте автором технических статей вместе с Proglib и получайте достойное вознаграждение!
Библиотека программиста приглашает к сотрудничеству внештатных авторов,
которые хотят поделиться знаниями, пропиарить свой авторский блог или просто заработать.
Мы предлагаем удаленную работу, гибкий график, возможность зарабатывать до 12к за статью и выплаты 2 раза в месяц.
Мы не ограничиваем в количестве статей.
Постоянным авторам предусмотрены премии за лояльность.
Интересующие направления для написания статей:
• DevOps
• Блокчейн
• Информационная безопасность
• Дизайн интерфейсов (UX/UI)
• Ruby on Rails
• Rust
• Python
• C/C++/C#
• Java
• Go разработка
• Разработка игр
• Android-разработка
• iOS-разработка
• Системная аналитика
• Тестирование ПО
• Виртуальная реальность
• 1С
• Business Intelligence
• Интернет вещей
• Системы и сети
• Data Science, BigData и Machine Learning
• IT Management
Оставьте заявку на https://job.proglib.io/ и мы свяжемся с вами!
Станьте автором технических статей вместе с Proglib и получайте достойное вознаграждение!
Библиотека программиста приглашает к сотрудничеству внештатных авторов,
которые хотят поделиться знаниями, пропиарить свой авторский блог или просто заработать.
Мы предлагаем удаленную работу, гибкий график, возможность зарабатывать до 12к за статью и выплаты 2 раза в месяц.
Мы не ограничиваем в количестве статей.
Постоянным авторам предусмотрены премии за лояльность.
Интересующие направления для написания статей:
• DevOps
• Блокчейн
• Информационная безопасность
• Дизайн интерфейсов (UX/UI)
• Ruby on Rails
• Rust
• Python
• C/C++/C#
• Java
• Go разработка
• Разработка игр
• Android-разработка
• iOS-разработка
• Системная аналитика
• Тестирование ПО
• Виртуальная реальность
• 1С
• Business Intelligence
• Интернет вещей
• Системы и сети
• Data Science, BigData и Machine Learning
• IT Management
Оставьте заявку на https://job.proglib.io/ и мы свяжемся с вами!
Прояви свои цифровые таланты на хакатоне Цифрового Прорыва по направлению ""Умные города. ТЭК. Промышленность""
Энергетическая и промышленная сферы как никогда нуждаются в прорывных IT-решениях. Выбирай одну из самых перспективных отраслей экономики и решай задачи от крупнейших игроков рынка.
Тебя ждут кейсы по предиктивной аналитике, AI, AR, VR, робототехнике и сенсорике — есть, где развернуться! 💫
Бесплатное участие из любой точки России! Можно онлайн, а можно в специальных оффлайн-хакаточках.
Узнай подробности и регистрируйся по ссылке: https://proglib.io/w/ffe99cd4
⚡
Энергетическая и промышленная сферы как никогда нуждаются в прорывных IT-решениях. Выбирай одну из самых перспективных отраслей экономики и решай задачи от крупнейших игроков рынка.
Тебя ждут кейсы по предиктивной аналитике, AI, AR, VR, робототехнике и сенсорике — есть, где развернуться! 💫
Бесплатное участие из любой точки России! Можно онлайн, а можно в специальных оффлайн-хакаточках.
Узнай подробности и регистрируйся по ссылке: https://proglib.io/w/ffe99cd4
Удаление знаков препинания
Модуль string в Python имеет множество встроенных констант с отдельными наборами символов. string.punctuation — один из них, поэтому мы будем использовать его для очистки строки.
В Python3 string.punctuation — это предварительно инициализированная строка, используемая как строковая константа. В Python string.punctuation даст все наборы знаков препинания.
Модуль string в Python имеет множество встроенных констант с отдельными наборами символов. string.punctuation — один из них, поэтому мы будем использовать его для очистки строки.
В Python3 string.punctuation — это предварительно инициализированная строка, используемая как строковая константа. В Python string.punctuation даст все наборы знаков препинания.
Translate и Replace
Первый случай — заменить или удалить некоторые символы или подстроки из текста. В Python есть встроенные функции в модуле string, которые выполняют эти задачи.
Метод translate() использует таблицу (которая строится при помощи функции maketrans) для удаления или изменения определенных символов
Первый случай — заменить или удалить некоторые символы или подстроки из текста. В Python есть встроенные функции в модуле string, которые выполняют эти задачи.
Метод translate() использует таблицу (которая строится при помощи функции maketrans) для удаления или изменения определенных символов