Выводим аудио дорожку из видео
Бывает так, что у нас есть mp4-файл, но нам нужна только звуковая дорожка из него. Скажем, чтобы сделать другое видео с таким же звуковым сопровождением. Эта проблема решается установкой библиотеки moviepy.
Разъяснивший Python
Бывает так, что у нас есть mp4-файл, но нам нужна только звуковая дорожка из него. Скажем, чтобы сделать другое видео с таким же звуковым сопровождением. Эта проблема решается установкой библиотеки moviepy.
Разъяснивший Python
Пропуск строк
Некоторые незападные символы выглядят идентично буквам английского алфавита, но интерпретатор считает их разными.
Встроенная ord() функция возвращает кодовую точку символа в Юникоде, а различные кодовые позиции кириллицы 'e' и латиницы 'e' оправдывают поведение нашего примера примера.
Разъяснивший Python
Некоторые незападные символы выглядят идентично буквам английского алфавита, но интерпретатор считает их разными.
Встроенная ord() функция возвращает кодовую точку символа в Юникоде, а различные кодовые позиции кириллицы 'e' и латиницы 'e' оправдывают поведение нашего примера примера.
Разъяснивший Python
Телепортация
Обратите внимание, что массив
Разъяснивший Python
Обратите внимание, что массив
numpy
, созданный в energy_send
функции, не возвращается, так что пространство памяти свободно для перераспределения.numpy.empty()
возвращает следующий свободный слот памяти без его повторной инициализации. Эта область памяти просто оказывается той же, которая была только что освобождена (обычно, но не всегда).Разъяснивший Python
Давайте переделаем (ч.3)
Третий фрагмент также был следствием искажения имени. Имя
Кроме того, если искаженное имя длиннее 255 символов, произойдет усечение.
Разъяснивший Python
Третий фрагмент также был следствием искажения имени. Имя
__variable
в инструкции return
__variable
было искажено до _A__variable
, которое также является именем переменной, объявленной нами во внешней области видимости.Кроме того, если искаженное имя длиннее 255 символов, произойдет усечение.
Разъяснивший Python
Проверка аргументов функции без лишнего кода с functools.singledispatch
Когда нужно писать разные реализации одной функции в зависимости от типа аргумента, не спеши писать
Итог:
Разъяснивший Python
Когда нужно писать разные реализации одной функции в зависимости от типа аргумента, не спеши писать
if isinstance(...)
— есть элегантнее способ!Итог:
singledispatch
— способ реализовать полиморфизм для функций: избавляет от длинных ветвлений по типам, упрощает поддержку и расширение кода.Разъяснивший Python
Ну, что-то здесь не так...
Почему в первом выводе у нас получилось 10, а не 100?
Это потому что мы смешали табуляцию и пробелы. Символ, непосредственно предшествующий возвращению, является "табуляцией", и в другом месте примера код имеет отступ, кратный "4 пробелам".
"tab" в последней строке square функции заменяется восемью пробелами, и она попадает в цикл.
Зато Python 3 достаточно любезен, чтобы автоматически выдавать ошибку в таких случаях.
Разъяснивший Python
Почему в первом выводе у нас получилось 10, а не 100?
Это потому что мы смешали табуляцию и пробелы. Символ, непосредственно предшествующий возвращению, является "табуляцией", и в другом месте примера код имеет отступ, кратный "4 пробелам".
"tab" в последней строке square функции заменяется восемью пробелами, и она попадает в цикл.
Зато Python 3 достаточно любезен, чтобы автоматически выдавать ошибку в таких случаях.
Разъяснивший Python
👎1🔥1
+= быстрее
Почему +- быстрее?
+= быстрее, чем + в объединениях более двух строк, потому что первая строка (например, s1 для s1 += s2 + s3) не уничтожается при вычислении полной строки.
Разъяснивший Python
Почему +- быстрее?
+= быстрее, чем + в объединениях более двух строк, потому что первая строка (например, s1 для s1 += s2 + s3) не уничтожается при вычислении полной строки.
Разъяснивший Python
Давайте создадим гигантскую строку!
Для создании длинной строки не используйте +. В Python str является неизменяемым, поэтому левая и правая строки должны копироваться в новую строку для каждой пары конкатенаций. Если вы объедините четыре строки длиной 10, вы будете копировать (10+10) + ((10+10)+10) + (((10+10)+10)+10) = 90 символы вместо всего лишь 40 символов. Ситуация ухудшается квадратично по мере увеличения количества и размера строки
Поэтому рекомендуется использовать синтаксис .format. or % (однако они работают немного медленнее, чем + для очень коротких строк).
Или лучше, если у вас уже есть содержимое, доступное в виде итеративного объекта, тогда используйте ''.join(iterable_object) который намного быстрее.
Разъяснивший Python
Для создании длинной строки не используйте +. В Python str является неизменяемым, поэтому левая и правая строки должны копироваться в новую строку для каждой пары конкатенаций. Если вы объедините четыре строки длиной 10, вы будете копировать (10+10) + ((10+10)+10) + (((10+10)+10)+10) = 90 символы вместо всего лишь 40 символов. Ситуация ухудшается квадратично по мере увеличения количества и размера строки
Поэтому рекомендуется использовать синтаксис .format. or % (однако они работают немного медленнее, чем + для очень коротких строк).
Или лучше, если у вас уже есть содержимое, доступное в виде итеративного объекта, тогда используйте ''.join(iterable_object) который намного быстрее.
Разъяснивший Python
Замедление dict поиска
CPython имеет общую функцию поиска по словарю, которая обрабатывает все типы ключей (str, int, любой объект ...), и специализированную для общего случая словарей, состоящих только из str ключей.
Специализированная функция знает, что все существующие ключи являются строками, и использует более быстрое и простое сравнение строк для сравнения ключей вместо вызова eq метода.
При первом обращении к dict экземпляру с помощью не-str ключа он модифицируется, поэтому в будущих поисковых системах используется универсальная функция.
Разъяснивший Python
CPython имеет общую функцию поиска по словарю, которая обрабатывает все типы ключей (str, int, любой объект ...), и специализированную для общего случая словарей, состоящих только из str ключей.
Специализированная функция знает, что все существующие ключи являются строками, и использует более быстрое и простое сравнение строк для сравнения ключей вместо вызова eq метода.
При первом обращении к dict экземпляру с помощью не-str ключа он модифицируется, поэтому в будущих поисковых системах используется универсальная функция.
Разъяснивший Python
Раздувающийся экземпляр dict (ч.1)
Как мы видим, при каждом новом выводе словари становятся раздутыми. Почему это происходит?
CPython способен повторно использовать один и тот же объект "keys" в нескольких словарях. Это было добавлено в PEP 412 с целью уменьшить использование памяти, особенно в словарях экземпляров, где ключи (атрибуты экземпляра), как правило, являются общими для всех экземпляров.
Эта оптимизация полностью выполняется, например, для словарей, но она отключается, если нарушаются определенные допущения.
Разъяснивший Python
Как мы видим, при каждом новом выводе словари становятся раздутыми. Почему это происходит?
CPython способен повторно использовать один и тот же объект "keys" в нескольких словарях. Это было добавлено в PEP 412 с целью уменьшить использование памяти, особенно в словарях экземпляров, где ключи (атрибуты экземпляра), как правило, являются общими для всех экземпляров.
Эта оптимизация полностью выполняется, например, для словарей, но она отключается, если нарушаются определенные допущения.
Разъяснивший Python
Раздувающийся экземпляр dict (ч.2)
Словари общего доступа к ключам не поддерживают удаление; если атрибут экземпляра удален, словарь становится "неразделяемым", и общий доступ к ключам отключается для всех будущих экземпляров того же класса.
Кроме того, если размеры ключей словаря были изменены (из-за вставки новых ключей), они остаются общими только в том случае, если они используются точно одним словарем (это позволяет добавлять множество атрибутов в init самого первого созданного экземпляра, не вызывая "общего доступа"). Если при изменении размера существует несколько экземпляров, совместное использование ключей отключается для всех будущих экземпляров одного и того же класса: CPython не может определить, используют ли ваши экземпляры тот же набор атрибутов, и решает отказаться от попыток совместного использования своих ключей.
Разъяснивший Python
Словари общего доступа к ключам не поддерживают удаление; если атрибут экземпляра удален, словарь становится "неразделяемым", и общий доступ к ключам отключается для всех будущих экземпляров того же класса.
Кроме того, если размеры ключей словаря были изменены (из-за вставки новых ключей), они остаются общими только в том случае, если они используются точно одним словарем (это позволяет добавлять множество атрибутов в init самого первого созданного экземпляра, не вызывая "общего доступа"). Если при изменении размера существует несколько экземпляров, совместное использование ключей отключается для всех будущих экземпляров одного и того же класса: CPython не может определить, используют ли ваши экземпляры тот же набор атрибутов, и решает отказаться от попыток совместного использования своих ключей.
Разъяснивший Python
Изменение ссылок
При постоянной работе с URL часто возникает необходимость сократить длинную ссылку. Для этого есть специальные онлайн-сервисы типа bit.ly, которые сокращают URL до 50 символов. Мы можем создать собственный инструмент для сокращения ссылок при помощи библиотеки pyshorteners.
Разъяснивший Python
При постоянной работе с URL часто возникает необходимость сократить длинную ссылку. Для этого есть специальные онлайн-сервисы типа bit.ly, которые сокращают URL до 50 символов. Мы можем создать собственный инструмент для сокращения ссылок при помощи библиотеки pyshorteners.
Разъяснивший Python
Проверка на оригинальность
Один из важнейших факторов работы с текстовым контентом — плагиат. Не всегда возможно проверить каждый файл вручную, особенно, если у вас целый пакет файлов. Тут пригодится инструмент для выявления плагиата. Мы можем создать собственный детектор при помощи библиотеки difflib. Ее можно использовать для поиска сходства между двумя или несколькими файлами на одном устройстве.
Разъяснивший Python
Один из важнейших факторов работы с текстовым контентом — плагиат. Не всегда возможно проверить каждый файл вручную, особенно, если у вас целый пакет файлов. Тут пригодится инструмент для выявления плагиата. Мы можем создать собственный детектор при помощи библиотеки difflib. Ее можно использовать для поиска сходства между двумя или несколькими файлами на одном устройстве.
Разъяснивший Python
Python — как первая гитара: просто, но затягивает
Пока кто-то учит программирование по роликам на YouTube, вы можете за 5 дней собрать Telegram-бота, веб-страницу и понять, ваше ли это вообще.
Python — язык, с которого начинают аналитики, дата-сайентисты, разработчики и даже автоматизаторы. Он простой, но лежит в основе десятков современных профессий. И спрос на умеющих работать с ним специалистов только растёт.
Мини-курс не грузит теорией. Это как пробная вечеринка в мире IT: сделали, почувствовали, захотели больше.
Нажмите “начать” — и пусть Python станет вашим козырем.
Пока кто-то учит программирование по роликам на YouTube, вы можете за 5 дней собрать Telegram-бота, веб-страницу и понять, ваше ли это вообще.
Python — язык, с которого начинают аналитики, дата-сайентисты, разработчики и даже автоматизаторы. Он простой, но лежит в основе десятков современных профессий. И спрос на умеющих работать с ним специалистов только растёт.
Мини-курс не грузит теорией. Это как пробная вечеринка в мире IT: сделали, почувствовали, захотели больше.
Нажмите “начать” — и пусть Python станет вашим козырем.
Локальный переводчик
Мы живем в многоязычном мире. А поскольку каждый человек может выучить не так уж много языков, то, чтобы понимать друг друга, нам нужны переводчики. Переводчиком может быть и программа. Для создания таких программ в Python есть специальная библиотека — Translator.
Разъяснивший Python
Мы живем в многоязычном мире. А поскольку каждый человек может выучить не так уж много языков, то, чтобы понимать друг друга, нам нужны переводчики. Переводчиком может быть и программа. Для создания таких программ в Python есть специальная библиотека — Translator.
Разъяснивший Python
Метод remove() для удаления элемента из списка
В этом списке есть строки и целые числа. Есть повторяющиеся элементы: строка «Mars» и число 12.
Разъяснивший Python
В этом списке есть строки и целые числа. Есть повторяющиеся элементы: строка «Mars» и число 12.
Разъяснивший Python
Повтор вебинара для тех, кто не успел ❗️
Сравниваем и разбираем работу DeepSeek на реальных примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.
⚡️Что вас ждет на вебинаре?
— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
Не упусти шанс — регистрируйся прямо сейчас!
P.S: Это специальный повтор вебинара от экспертов по DeepSeek. Жми на ссылку и успевай зарегистрироваться!
erid: 2W5zFJDSsjn
ООО Зерокодер, ИНН 9715401631
Сравниваем и разбираем работу DeepSeek на реальных примерах вместе с Кириллом Пшинником, СЕО университета Зерокодер.
⚡️Что вас ждет на вебинаре?
— Сравним DeepSeek-R1 и QWEN 2.5-Max с ChatGPT – кто быстрее, точнее и эффективнее?
— Покажем, как использовать DeepSeek без ограничений и блокировок;
— Разберем, как можно зарабатывать на нейросетях и какие вакансии будут востребованы в 2025 году.
Все участники получат готовые инструменты для работы с нейросетями. Эфир подойдет всем, кто хочет сэкономить время, монетизировать навыки и оставаться в тренде технологий 2025 года.
Не упусти шанс — регистрируйся прямо сейчас!
P.S: Это специальный повтор вебинара от экспертов по DeepSeek. Жми на ссылку и успевай зарегистрироваться!
erid: 2W5zFJDSsjn
ООО Зерокодер, ИНН 9715401631
Второстепенные (ч.1)
Учитывая, что a это число, ++a и --a оба являются допустимыми операторами Python, но ведут себя по-другому по сравнению с аналогичными операторами в таких языках, как C, C ++ или Java.
В грамматике Python нет ++ оператора. На самом деле это два + оператора.
++a разбирается как, +(+a) что переводится как a. Аналогично, вывод инструкции --a может быть оправдан.
В этом потоке StackOverflow обсуждается обоснование отсутствия операторов увеличения и уменьшения в Python.
Разъяснивший Python
Учитывая, что a это число, ++a и --a оба являются допустимыми операторами Python, но ведут себя по-другому по сравнению с аналогичными операторами в таких языках, как C, C ++ или Java.
В грамматике Python нет ++ оператора. На самом деле это два + оператора.
++a разбирается как, +(+a) что переводится как a. Аналогично, вывод инструкции --a может быть оправдан.
В этом потоке StackOverflow обсуждается обоснование отсутствия операторов увеличения и уменьшения в Python.
Разъяснивший Python
🔺Официально: Нейросети могут всё!
Теперь на канале «Будущее сегодня»:
EDU GO — все уроки с ИИ, обучит любым предметам и подготовит к экзаменам за пару дней
HustleBot 9.0 — 24/7 ищет, где быстро заработать, собирает самые свежие схемы заработка, чтобы не остаться без денег
WebBuddy — вбивай название любого товары и он найдет, сайт где на него скидки от 60-70%
MessagesGPT — дай ему настройку и он будет за тебя общаться в чатах. Нулевая вероятность различия
ProphetGPT — Предсказывает будущее. Спрашивай о жизни, крипте, свиданиях — отвечает с вероятностью 88%
⏺ Сохраняй, таких бесплатных ботов ещё сотни: https://t.me/+SmOJs5P0XXJmOTgy
Теперь на канале «Будущее сегодня»:
EDU GO — все уроки с ИИ, обучит любым предметам и подготовит к экзаменам за пару дней
HustleBot 9.0 — 24/7 ищет, где быстро заработать, собирает самые свежие схемы заработка, чтобы не остаться без денег
WebBuddy — вбивай название любого товары и он найдет, сайт где на него скидки от 60-70%
MessagesGPT — дай ему настройку и он будет за тебя общаться в чатах. Нулевая вероятность различия
ProphetGPT — Предсказывает будущее. Спрашивай о жизни, крипте, свиданиях — отвечает с вероятностью 88%
Please open Telegram to view this post
VIEW IN TELEGRAM
Второстепенные (ч.2)
Вы, должно быть, знаете о операторе Walrus в Python. Но слышали ли вы когда-нибудь о операторе space-invader?
Он используется в качестве альтернативного оператора увеличения вместе с другим
Эта шутка взята из твита Рэймонда Хеттингера. Оператор space invader на самом деле просто неправильно отформатирован a -= (-1). Что эквивалентно a = a - (- 1). Аналогично для a += (+ 1) случая.
Разъяснивший Python
Вы, должно быть, знаете о операторе Walrus в Python. Но слышали ли вы когда-нибудь о операторе space-invader?
Он используется в качестве альтернативного оператора увеличения вместе с другим
Эта шутка взята из твита Рэймонда Хеттингера. Оператор space invader на самом деле просто неправильно отформатирован a -= (-1). Что эквивалентно a = a - (- 1). Аналогично для a += (+ 1) случая.
Разъяснивший Python