Важное про цифры и Юникод
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не единственные символы, которые считаются цифрами.
Это крайне важно знать, потому что эти символы влияют на такие функции, как
Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен.
#python #unicode
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не единственные символы, которые считаются цифрами.
Python
следует правилам Юникода и обрабатывает несколько сотен символов как цифры. Полный список находится здесь.Это крайне важно знать, потому что эти символы влияют на такие функции, как
int
, unicode.isdecimal
и даже re.match
.Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен.
#python #unicode
Включаем предупреждения об ошибках или исключениях с помощью модуля warnings
Модуль
Модуль
#python
Модуль
warnings
предоставляет возможность управления предупреждениями, которые могут быть выведены во время выполнения программы.Модуль
warnings
полезен, когда необходимо предупредить пользователя о каком-либо условии в программе и это условие не требует создания исключения и завершения программы.#python
Больше выгодных предложений для самозанятых
Если вы уже самозанятый или только планируете оформиться, то выгоднее всего сейчас вести самозанятость в СберБанк Онлайн.
▪️Сервис полностью бесплатный
▪️В сервисе доступны бесплатные полезные услуги, например, онлайн-запись клиентов
▪️Для самозанятых в Сбере ставка на кредиты ниже на 1%
Кстати, подключить сервис и пользоваться всеми привилегиями могут даже те, кто уже оформил ведет самозанятость в ФНС или других банках. Данные синхронизируются с ФНС, и вы сможете продолжить вести дела в СберБанк Онлайн.
Если вы подключитесь к сервису для самозанятых до 30 апреля, то сможете поучаствовать в розыгрыше 16 миллионов бонусов. Более подробную информацию можно найти здесь.
Если вы уже самозанятый или только планируете оформиться, то выгоднее всего сейчас вести самозанятость в СберБанк Онлайн.
▪️Сервис полностью бесплатный
▪️В сервисе доступны бесплатные полезные услуги, например, онлайн-запись клиентов
▪️Для самозанятых в Сбере ставка на кредиты ниже на 1%
Кстати, подключить сервис и пользоваться всеми привилегиями могут даже те, кто уже оформил ведет самозанятость в ФНС или других банках. Данные синхронизируются с ФНС, и вы сможете продолжить вести дела в СберБанк Онлайн.
Если вы подключитесь к сервису для самозанятых до 30 апреля, то сможете поучаствовать в розыгрыше 16 миллионов бонусов. Более подробную информацию можно найти здесь.
Cравнение 2 аудиосообщений с помощью библиотеки для анализа звука
В библиотеку для анализа звука, например, librosa или PyAudio мы загружаем два файла и вычисляем их характеристики MFCC (Mel Frequency Cepstral Coefficients), которые представляют собой набор коэффициентов, описывающих звуковое пространство. Затем мы вычисляем расстояние между характеристиками с помощью функции dtln из librosa.core. Результат будет выведен в консоль.
Обратите внимание, что для сравнения аудиосообщений нужно, чтобы они имели одинаковую продолжительность и были записаны в одинаковых условиях (например, громкость, обработка шума).
#python
В библиотеку для анализа звука, например, librosa или PyAudio мы загружаем два файла и вычисляем их характеристики MFCC (Mel Frequency Cepstral Coefficients), которые представляют собой набор коэффициентов, описывающих звуковое пространство. Затем мы вычисляем расстояние между характеристиками с помощью функции dtln из librosa.core. Результат будет выведен в консоль.
Обратите внимание, что для сравнения аудиосообщений нужно, чтобы они имели одинаковую продолжительность и были записаны в одинаковых условиях (например, громкость, обработка шума).
#python
Перебираем все возможные 8 значные пароли состоящие из букв и цифр с помощью Python
В этом примере используется модуль
Обратите внимание, что перебор всех возможных 8-значных паролей может занять большое количество времени, особенно если количество символов в
#python #itertools
В этом примере используется модуль
itertools
, который позволяет генерировать все возможные комбинации символов из списка characters
длиной password_length
. Затем перебираются все комбинации и выводятся на экран.Обратите внимание, что перебор всех возможных 8-значных паролей может занять большое количество времени, особенно если количество символов в
characters
большое. Будьте осторожны и убедитесь, что ваше намерение соответствует законам и этическим правилам.#python #itertools
Библиотека setuptools
Библиотека
#python #setuptools
Библиотека
setuptools
является инструментом для упрощения процесса создания, установки и распространения пакетов Python. Она используется в основном для упрощения установки и управления зависимостями Python-пакетов.
setuptools
предоставляет функциональность для создания файлов setup.py
, которые содержат информацию о вашем пакете, его зависимостях и других метаданных. Этот файл используется инструментами для установки пакетов, такими как pip
.#python #setuptools
27 и 28 апреля приглашаем специалистов робототехники и reinforcement learning на ROS Meetup в Москве 📅
Это возможность для робототехников всех уровней: от новичков до экспертов, — посвятить выходные практическому обучению и нетворкингу. Вы получите советы и рекомендации экспертов, сможете поделиться идеями с другими разработчиками. Доклады охватывают весь спектр тем: от ROS до reinforcement learning и антропоморфных роботов.
Инженеры и руководители компаний поделятся реальным опытом использования ROS в исследовательских и коммерческих проектах.
В этот раз мы решили разбавить технические доклады большим количеством тематических дискуссий и нетворкинга.
На какие темы будем общаться:
✔️ Антропоморфные роботы
✔️ Reinforcement learning
✔️ LLM — large language mode, Deep learning
✔️ Беспилотные автомобили и мобильные роботы
✔️ Манипуляторы и алгоритмы в манипуляции, в том числе MOVEit
✔️ ROS-пакеты и другие темы в робототехнике
Локация: г. Москва, Кутузовский проспект 32к1, офис Сбера.
Регистрируйтесь по ссылке 👈
Это возможность для робототехников всех уровней: от новичков до экспертов, — посвятить выходные практическому обучению и нетворкингу. Вы получите советы и рекомендации экспертов, сможете поделиться идеями с другими разработчиками. Доклады охватывают весь спектр тем: от ROS до reinforcement learning и антропоморфных роботов.
Инженеры и руководители компаний поделятся реальным опытом использования ROS в исследовательских и коммерческих проектах.
В этот раз мы решили разбавить технические доклады большим количеством тематических дискуссий и нетворкинга.
На какие темы будем общаться:
✔️ Антропоморфные роботы
✔️ Reinforcement learning
✔️ LLM — large language mode, Deep learning
✔️ Беспилотные автомобили и мобильные роботы
✔️ Манипуляторы и алгоритмы в манипуляции, в том числе MOVEit
✔️ ROS-пакеты и другие темы в робототехнике
Локация: г. Москва, Кутузовский проспект 32к1, офис Сбера.
Регистрируйтесь по ссылке 👈
memoryview()
Этот инструмент особенно полезен, когда вам нужно работать с большим объемом данных, и вы хотите избежать копирования данных, что может быть затратным с точки зрения времени и ресурсов.
#python
memoryview()
в Python предоставляет объект для доступа к внутреннему представлению данных в виде буфера без копирования. Этот объект позволяет вам просматривать байты объекта, не копируя их, а также выполнять различные операции на уровне байтов.memoryview()
также может использоваться для работы с массивами и другими объектами, поддерживающими буферный интерфейс в Python.Этот инструмент особенно полезен, когда вам нужно работать с большим объемом данных, и вы хотите избежать копирования данных, что может быть затратным с точки зрения времени и ресурсов.
#python
Forwarded from Бэкдор
Вау, две российских нейронки попали в международный рейтинг от TechBullion! На пятом месте — Kandinsky от Сбера за умение создавать сложные изображения с глубоким подтекстом. На десятом — YandexART за генерацию в разных стилях.
Midjourney нервно затрясся.
@whackdoor
Midjourney нервно затрясся.
@whackdoor
Ruff
Основным преимуществом
#python #ruff
Ruff
— Чрезвычайно быстрый линтер и форматер кода на Python
, написанный на Rust
.Основным преимуществом
Ruff
является его скорость. Ruff
в 10-100 раз быстрее аналогов. В сравнении с flake8
, автор заявляет о практически полном совпадении с набором правил инструмента и нативной реализацией популярных плагинов (flake8-bugbear
и т.д.). Также Ruff
совместим с Black
«из коробки».Ruff
может форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практически идентична isort
.#python #ruff
Режим разработки
Оказывается, еще в Python 3.7 появилась возможность запускать скрипты со специальным флагом
Например,
Также этот режим выводит дополнительные предупреждения в следующих случаях:
— Незакрытые файлы;
— Unawaited корутины;
— Неизвестная кодировка для
— Проблемы с выделением памяти.
В целом, классная штука и имеет смысл периодически запускать скрипты в таком режиме, чтобы не упустить никакие баги.
#python
Оказывается, еще в Python 3.7 появилась возможность запускать скрипты со специальным флагом
-X
для указания различных вариантов реализации.Например,
-X dev
запускает скрипт в режиме разработки с функциями отладки и runtime-проверки, которые не используются по умолчанию из-за своей медлительности.Также этот режим выводит дополнительные предупреждения в следующих случаях:
— Незакрытые файлы;
— Unawaited корутины;
— Неизвестная кодировка для
str.encode
;— Проблемы с выделением памяти.
В целом, классная штука и имеет смысл периодически запускать скрипты в таком режиме, чтобы не упустить никакие баги.
#python
Работаете в области проектирования ПО и хотите ускорить свой профессиональный рост? Выйти на новый уровень будет гораздо проще с онлайн-магистратурой Яндекса и ИТМО «ПО высоконагруженных систем».
Поступив на программу, вы с первого семестра погрузитесь в работу над реальными задачами из индустрии. Собирая ценные кейсы в портфолио, вы прокачаете навыки проектирования сложных систем и управления крупными проектами. Всё это — онлайн, из любой точки мира!
Программа подходит как выпускникам профильных вузов и стажёрам, так и специалистам с опытом. Первым можно будет пройти двухлетний стандартный трек, а вторым — ускоренный, изучая интересующие дисциплины на протяжении года.
Подайте заявку на магистратуру и выйдите на новый уровень в IT.
Поступив на программу, вы с первого семестра погрузитесь в работу над реальными задачами из индустрии. Собирая ценные кейсы в портфолио, вы прокачаете навыки проектирования сложных систем и управления крупными проектами. Всё это — онлайн, из любой точки мира!
Программа подходит как выпускникам профильных вузов и стажёрам, так и специалистам с опытом. Первым можно будет пройти двухлетний стандартный трек, а вторым — ускоренный, изучая интересующие дисциплины на протяжении года.
Подайте заявку на магистратуру и выйдите на новый уровень в IT.
Генерация капчи
Сегодня покажем создание простейшей капчи. Для этого нам понадобится модуль
Все максимально просто, за нас по сути все делает уже написанный в модуле код. Создаем объект изображения
#captcha
Сегодня покажем создание простейшей капчи. Для этого нам понадобится модуль
captcha
и Pillow
, который используется для создание изображений в captcha
.Все максимально просто, за нас по сути все делает уже написанный в модуле код. Создаем объект изображения
ImageCaptcha
, на который будет нанесен текст. После чего вызываем метод write
с заданным текстом и именем файла, в который будет записано изображение.#captcha
Используйте dict.get() вместо dict[]
Есть несколько способов получения значений из словарей, и даже по такой теме разработчики часто спорят.
Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение.
Поэтому мы считаем, что лучше использовать метод
Таким образом, если значение по ключу не найдено, то вернется дефолтное значение.
В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет.
#python #dict
Есть несколько способов получения значений из словарей, и даже по такой теме разработчики часто спорят.
Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение.
Поэтому мы считаем, что лучше использовать метод
get
у словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию. Таким образом, если значение по ключу не найдено, то вернется дефолтное значение.
В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет.
#python #dict
Kivy
Основное его преимущество заключается в универсальности: созданные при помощи
#python #kivy
Kivy
- это мощный кроссплатформенный фреймворк для разработки графических интерфейсов пользователя (GUI). Основное его преимущество заключается в универсальности: созданные при помощи
Kivy
приложения могут запускаться на различных операционных системах, включая Windows, macOS, Linux, а также мобильные платформы Android и iOS.#python #kivy
Аргументы командой строки
При запуске программ через терминал можно указывать аргументы через пробел. В Python список этих аргументов хранится в переменной
Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы.
#sys
При запуске программ через терминал можно указывать аргументы через пробел. В Python список этих аргументов хранится в переменной
argv
во встроенном модуле sys
.Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы.
#sys
Как перезагрузить импортированный модуль?
Чтобы перезагрузить импортированный модуль в
Замените
#python #importlib
Чтобы перезагрузить импортированный модуль в
Python
, вы можете использовать функцию reload()
из модуля importlib
Замените
module_name
на фактическое имя модуля, который вы хотите перезагрузить. Это может быть полезно при разработке и тестировании модулей, но не рекомендуется использовать в проде без серьезных причин.#python #importlib
Вызов программ операционной системы
sh — это полноценный интерфейс, как альтернатива
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
#sh
sh — это полноценный интерфейс, как альтернатива
subprocess
, который позволяет вызывать любую программу, как если бы это была обычная функция. Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
sh
полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция
which
, которая находит полный путь до программы либо возвращает None
, если программа не найдена.#sh
Forwarded from Т-Образование
Финал ICPC — победа команд ВШЭ и МФТИ
Сотрудники, студенты, преподаватели и стипендиаты Тинькофф в разные годы принимали участие в ICPC. В этом году команды ВШЭ и МФТИ забрали абсолютное чемпионство, золото и серебро, сразу в двух финалах.
ICPC — это командный студенческий чемпионат мира по программированию, ежегодно собирающий лучшие вузы планеты. В этом году был организован двойной финал, чтобы компенсировать мероприятия, не проводившиеся в годы пандемии.
ВШЭ:
— Александр Бабин, преподаватель Тинькофф Поколения — абсолютный победитель;
— Федор Ромашов, стипендиат Тинькофф — абсолютный победитель;
— Кирилл Кудряшов, стипендиат Тинькофф — абсолютный победитель.
МФТИ:
— Шеховцов Александр, стипендиат Тинькофф — серебро;
— Всеволод Нагибин, стипендиат Тинькофф — золото;
— Тихон Евтеев, стипендиат Тинькофф — золото.
Мы очень болели за ребят и надеемся, что стипендиальная программа помогла ребятам сосредоточиться на подготовке! Отдельно поздравляем тренеров команд: Филиппа Руховича, преподавателя Тинькофф Поколения, Демида Кучеренко, автора курса Тинькофф Образования «Информатика решает», и Михаила Густокашина, члена жюри конкурса для школьных учителей «Вклад в поколение»!
Сотрудники, студенты, преподаватели и стипендиаты Тинькофф в разные годы принимали участие в ICPC. В этом году команды ВШЭ и МФТИ забрали абсолютное чемпионство, золото и серебро, сразу в двух финалах.
ICPC — это командный студенческий чемпионат мира по программированию, ежегодно собирающий лучшие вузы планеты. В этом году был организован двойной финал, чтобы компенсировать мероприятия, не проводившиеся в годы пандемии.
ВШЭ:
— Александр Бабин, преподаватель Тинькофф Поколения — абсолютный победитель;
— Федор Ромашов, стипендиат Тинькофф — абсолютный победитель;
— Кирилл Кудряшов, стипендиат Тинькофф — абсолютный победитель.
МФТИ:
— Шеховцов Александр, стипендиат Тинькофф — серебро;
— Всеволод Нагибин, стипендиат Тинькофф — золото;
— Тихон Евтеев, стипендиат Тинькофф — золото.
Мы очень болели за ребят и надеемся, что стипендиальная программа помогла ребятам сосредоточиться на подготовке! Отдельно поздравляем тренеров команд: Филиппа Руховича, преподавателя Тинькофф Поколения, Демида Кучеренко, автора курса Тинькофф Образования «Информатика решает», и Михаила Густокашина, члена жюри конкурса для школьных учителей «Вклад в поколение»!