Mypy
Mypy — это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.
Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.
После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.
#код
Mypy — это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.
Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.
После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.
#код
👍16
Очередной #дайджест по Python и DS:
🐍 Построение ML-пайплайна для рекомендательной системы с помощью Google Cloud Platform
Статья для тех, кому впервые понадобится реализовать схожие задачи на GCP без опыта работы с аналогичными облачными платформами.
🐍 Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой
Command line interface приложение, запуск которого на локальной машине разработчика может превышать количество запусков команды git (спойлер: статистика в конце статьи).
🐍 Введение в библиотеку Diffusers и диффузионные модели
Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.
🐍 «Консервируем» данные: сравниваем модуль pickle и альтернативные способы сериализации
В процессе работы периодически возникает необходимость выгрузить обрабатываемую в программе информацию для её хранения или дальнейшей передачи. И тогда на помощь приходит сериализация данных.
🐍 Построение ML-пайплайна для рекомендательной системы с помощью Google Cloud Platform
Статья для тех, кому впервые понадобится реализовать схожие задачи на GCP без опыта работы с аналогичными облачными платформами.
🐍 Как PaaS решил проблемы стандартизации разработки сервиса одной утилитой
Command line interface приложение, запуск которого на локальной машине разработчика может превышать количество запусков команды git (спойлер: статистика в конце статьи).
🐍 Введение в библиотеку Diffusers и диффузионные модели
Diffusers — это библиотека от Hugging Face, которая позволяет работать с сотнями предобученных моделей класса Stable Diffusion для создания изображений и аудио.
🐍 «Консервируем» данные: сравниваем модуль pickle и альтернативные способы сериализации
В процессе работы периодически возникает необходимость выгрузить обрабатываемую в программе информацию для её хранения или дальнейшей передачи. И тогда на помощь приходит сериализация данных.
👍2❤1😁1
Завершение программы
exit() — это функция, которая позволяет завершить выполнение программы и возвратить код возврата операционной системе.
Принимает один необязательный числовой аргумент — код возврата программы. По умолчанию это 0, что означает успешное завершение, а код возврата отличный от нуля сигнализирует об ошибке или нештатной ситуации.
Используется для завершения программы в случае критической ошибки, когда продолжение работы невозможно и позволяет гибко управлять кодами возврата в зависимости от ситуации.
#код
exit() — это функция, которая позволяет завершить выполнение программы и возвратить код возврата операционной системе.
Принимает один необязательный числовой аргумент — код возврата программы. По умолчанию это 0, что означает успешное завершение, а код возврата отличный от нуля сигнализирует об ошибке или нештатной ситуации.
Используется для завершения программы в случае критической ошибки, когда продолжение работы невозможно и позволяет гибко управлять кодами возврата в зависимости от ситуации.
#код
👍27🤯5
🐍 Оптимизация запросов в БД — [2:29]
Автор рассказывает, как сократить количество запросов в базу, при связи Foreign key в Django-приложениях. Коротко и полезно.
Перейти к просмотру
Автор рассказывает, как сократить количество запросов в базу, при связи Foreign key в Django-приложениях. Коротко и полезно.
Перейти к просмотру
👍7
Dramatiq
Это библиотека для распределенной обработки задач в асинхронном режиме. Она основана на RabbitMQ и полностью асинхронна, что позволяет выполнять задачи параллельно и с минимальной задержкой.
В этом примере мы используем библиотеку dramatiq для определения и запуска функции my_task. Функция принимает аргумент name, который используется в выводе сообщений. Затем мы отправляем задачу с аргументом 'Alice', которая выполняется асинхронно.
*Для выполнения задач необходимо настроить брокера сообщений, например, Redis или RabbitMQ, чем мы не занимались в данном примере.
#код
Это библиотека для распределенной обработки задач в асинхронном режиме. Она основана на RabbitMQ и полностью асинхронна, что позволяет выполнять задачи параллельно и с минимальной задержкой.
В этом примере мы используем библиотеку dramatiq для определения и запуска функции my_task. Функция принимает аргумент name, который используется в выводе сообщений. Затем мы отправляем задачу с аргументом 'Alice', которая выполняется асинхронно.
*Для выполнения задач необходимо настроить брокера сообщений, например, Redis или RabbitMQ, чем мы не занимались в данном примере.
#код
🔥10
Что такое list comprehension?
List comprehension — это удобный способ создания списков за счет компактной записи.
Синтаксис list comprehension выглядит так: [выражение for элемент in итерируемый_объект if условие]
List comprehension позволяет за одну строку кода:
— Пройти циклом по итерируемому объекту.
— Отфильтровать элементы по нужному условию.
— Сформировать результирующий список.
По сравнению с обычным циклом, list comprehension более компактен, читабелен и эффективен.
Это идиоматичный прием, широко используемый для создания списков.
#вопросы_с_собеседований
List comprehension — это удобный способ создания списков за счет компактной записи.
Синтаксис list comprehension выглядит так: [выражение for элемент in итерируемый_объект if условие]
List comprehension позволяет за одну строку кода:
— Пройти циклом по итерируемому объекту.
— Отфильтровать элементы по нужному условию.
— Сформировать результирующий список.
По сравнению с обычным циклом, list comprehension более компактен, читабелен и эффективен.
Это идиоматичный прием, широко используемый для создания списков.
#вопросы_с_собеседований
👍25🤔2
IceCream
IceCream — это библиотека, которая предоставляет простой и эффективный способ отладки кода. Вместо того чтобы использовать функцию print() для отладки, вы можете использовать функцию ic() из библиотеки IceCream, которая позволяет вам инспектировать переменные, выражения и выполнение программы с помощью одного простого вызова функции.
В этом примере кода вывод ic| указывает на то, что это вывод от IceCream, а result: 6 — имя переменной и ее значение.
IceCream может быть использован в любом месте, где требуется отладка кода: веб-разработка, научные вычисления, анализ данных и т.д.
#код
IceCream — это библиотека, которая предоставляет простой и эффективный способ отладки кода. Вместо того чтобы использовать функцию print() для отладки, вы можете использовать функцию ic() из библиотеки IceCream, которая позволяет вам инспектировать переменные, выражения и выполнение программы с помощью одного простого вызова функции.
В этом примере кода вывод ic| указывает на то, что это вывод от IceCream, а result: 6 — имя переменной и ее значение.
IceCream может быть использован в любом месте, где требуется отладка кода: веб-разработка, научные вычисления, анализ данных и т.д.
#код
👍21🔥6❤1
👨🏫Библиотека программиста» находится в поиске преподавателя на курс по базам данных SQL
Proglib — это не только медиа, но еще и образовательный проект. Сейчас мы разрабатываем курс по базам данных SQL и ищем преподавателя в «Академию». Если вы опытный и творческий эксперт в сфере, желающий делиться знаниями и обучать, мы будем рады поработать с вами в команде.
Что важно:
● Готовность сотрудничать в формате part-time
● Опыт работы с базами данных от 2 лет
● Понимание базового и продвинутого SQL
● Знание и умение работать: с индексами, PL SQL-процедурами, организацией миграций, агрегатными, аналитическими и оконными функциями, вложенными запросами, опыт проектирования схем данных, OLAP-преобразованиями
● Умение объяснять простые вещи легко и захватывающе
Что нужно будет делать:
● Проектирование программы курса
● Создание тематических модулей и заданий к ним
● Проведение онлайн событий и Q and A встреч со студентами
● Запись видеоуроков
Мотивация:
● До 200 000 рублей
● Доступ к курсам академии
● Поддержка методистом
➡️ Заполнить анкету для отклика ⬅️
Proglib — это не только медиа, но еще и образовательный проект. Сейчас мы разрабатываем курс по базам данных SQL и ищем преподавателя в «Академию». Если вы опытный и творческий эксперт в сфере, желающий делиться знаниями и обучать, мы будем рады поработать с вами в команде.
Что важно:
● Готовность сотрудничать в формате part-time
● Опыт работы с базами данных от 2 лет
● Понимание базового и продвинутого SQL
● Знание и умение работать: с индексами, PL SQL-процедурами, организацией миграций, агрегатными, аналитическими и оконными функциями, вложенными запросами, опыт проектирования схем данных, OLAP-преобразованиями
● Умение объяснять простые вещи легко и захватывающе
Что нужно будет делать:
● Проектирование программы курса
● Создание тематических модулей и заданий к ним
● Проведение онлайн событий и Q and A встреч со студентами
● Запись видеоуроков
Мотивация:
● До 200 000 рублей
● Доступ к курсам академии
● Поддержка методистом
➡️ Заполнить анкету для отклика ⬅️
👍2❤1
Geopandas
Geopandas — это библиотека для работы с геопространственными данными. Она базируется на библиотеке Pandas и интегрируется с другими инструментами геоинформатики, такими как Shapely, Fiona, PyProj.
Geopandas позволяет эффективно работать с географическими данными в виде векторных и растровых слоев.
Основные области применения:
— Картография и визуализация пространственных данных.
— Анализ и обработка данных, содержащих географическую привязку.
— Работа с геометрическими объектами: точки, линии, полигоны.
— Преобразование и проектирование геоданных.
— Пространственный анализ и геостатистика.
— Моделирование географических процессов.
— ГИС-приложения и веб-картография.
#код
Geopandas — это библиотека для работы с геопространственными данными. Она базируется на библиотеке Pandas и интегрируется с другими инструментами геоинформатики, такими как Shapely, Fiona, PyProj.
Geopandas позволяет эффективно работать с географическими данными в виде векторных и растровых слоев.
Основные области применения:
— Картография и визуализация пространственных данных.
— Анализ и обработка данных, содержащих географическую привязку.
— Работа с геометрическими объектами: точки, линии, полигоны.
— Преобразование и проектирование геоданных.
— Пространственный анализ и геостатистика.
— Моделирование географических процессов.
— ГИС-приложения и веб-картография.
#код
👍15🤔3
Очередной #дайджест по Data Science:
✍️ Как автоматизировать переобучение моделей?
Как организовать переобучение моделей таким образом, чтобы можно было вести несколько процессов параллельно.
✍️ LLM как оптимизатор для задачи линейной регрессии
Как языковая модель Mistral-7B-Instruct на основании текстовых инструкций справится с задачей линейной регрессии.
✍️ Используем Hugging Face для обучения GPT-2 генерации музыки
К концу туториала вы сможете обучить модель GPT-2 генерации музыки.
✍️ Проблема омографов в ударениях и как я ее решал
История о том, почему в опенсорсе нет TTS с нормальными ударениями, и как автор пытался это исправить.
✍️ Как автоматизировать переобучение моделей?
Как организовать переобучение моделей таким образом, чтобы можно было вести несколько процессов параллельно.
✍️ LLM как оптимизатор для задачи линейной регрессии
Как языковая модель Mistral-7B-Instruct на основании текстовых инструкций справится с задачей линейной регрессии.
✍️ Используем Hugging Face для обучения GPT-2 генерации музыки
К концу туториала вы сможете обучить модель GPT-2 генерации музыки.
✍️ Проблема омографов в ударениях и как я ее решал
История о том, почему в опенсорсе нет TTS с нормальными ударениями, и как автор пытался это исправить.
👍6❤1
PyBrain
PyBrain — это модульная библиотека машинного обучения для Python.
Ее цель — предложить гибкие, простые в использовании, но все же мощные алгоритмы для задач машинного обучения и разнообразные предопределенные среды для тестирования и сравнения ваших алгоритмов.
В этом примере мы создаем набор данных для классификации с двумя входными и тремя выходными значениями и добавляем данные в набор данных. Затем данные разделяются на обучающую и тестовую выборки и преобразуются для использования с PyBrain.
Далее создается нейронная сеть с двумя входными узлами, тремя скрытыми узлами и тремя выходными узлами и тренер для обучения сети. Сеть обучается в течение 100 эпох и выводится результат на обучающей и тестовой выборках.
PyBrain — это модульная библиотека машинного обучения для Python.
Ее цель — предложить гибкие, простые в использовании, но все же мощные алгоритмы для задач машинного обучения и разнообразные предопределенные среды для тестирования и сравнения ваших алгоритмов.
В этом примере мы создаем набор данных для классификации с двумя входными и тремя выходными значениями и добавляем данные в набор данных. Затем данные разделяются на обучающую и тестовую выборки и преобразуются для использования с PyBrain.
Далее создается нейронная сеть с двумя входными узлами, тремя скрытыми узлами и тремя выходными узлами и тренер для обучения сети. Сеть обучается в течение 100 эпох и выводится результат на обучающей и тестовой выборках.
👍15🤔5❤1
В Python идут вызовы по значению или вызовы по ссылке? Как аргументы передаются — по значению или по ссылке?
Всё в Python является объектом, и все переменные содержат ссылки на объекты. Значения ссылок соответствуют функциям; в результате вы не можете изменить значения ссылок. Однако вы можете изменить объекты, если они это допускают.
#вопросы_с_собеседований
Всё в Python является объектом, и все переменные содержат ссылки на объекты. Значения ссылок соответствуют функциям; в результате вы не можете изменить значения ссылок. Однако вы можете изменить объекты, если они это допускают.
#вопросы_с_собеседований
👍16🤔8
pydoc
pydoc — это инструмент, предназначенный для генерации документации и предоставления информации о модулях, классах, функциях и методах. Этот инструмент позволяет вам получить доступ к документации и справочной информации о стандартных библиотеках и вашем собственном коде.
#код
pydoc — это инструмент, предназначенный для генерации документации и предоставления информации о модулях, классах, функциях и методах. Этот инструмент позволяет вам получить доступ к документации и справочной информации о стандартных библиотеках и вашем собственном коде.
#код
👍23❤2🔥2
Как сортировать строки Юникода по алфавиту в Python
В уроке описано, как правильно сортировать строки Unicode в Python, избегая при этом распространенных ошибок. Разобраны мощные сторонние библиотеки, реализующие полный алгоритм сопоставления Unicode (UCA), а также стандартные библиотечные модули и несколько решений, созданных вручную.
Читать статью
В уроке описано, как правильно сортировать строки Unicode в Python, избегая при этом распространенных ошибок. Разобраны мощные сторонние библиотеки, реализующие полный алгоритм сопоставления Unicode (UCA), а также стандартные библиотечные модули и несколько решений, созданных вручную.
Читать статью
👍6🔥1
Вы используете механическую клавиатуру для печати или мембранную?
#интерактив
#интерактив
😁12❤1🤔1🎉1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👩💻 Женщины в ИТ: проблемы и преимущества сложной профессии
Айтишницы поделились профессиональным опытом и рассказали о стереотипах и сложностях, с которыми им пришлось столкнуться на карьерном пути.
🔗 Читать статью
🔗 Зеркало
Айтишницы поделились профессиональным опытом и рассказали о стереотипах и сложностях, с которыми им пришлось столкнуться на карьерном пути.
🔗 Читать статью
🔗 Зеркало
🤯4👍3😁3❤2🎉1
Очередной #дайджест по Python:
✍️ Прием платежей с помощью Stripe, Vue.js и Flask
Если вы создаете сайт, чтобы зарабатывать деньги, в какой-то момент вам придется собирать деньги. В этом руководстве показано, как создать приложение Flask, которое интегрируется с Stripe для обработки платежей через платформу Vue.js.
✍️ Создание коннектора RisingWave для Django ORM
В этой статье показано внутреннее устройство Django ORM. Мы создаем прототип коннектора к базе данных потоковой передачи событий RisingWave и включаем возможности информационной панели в Django.
✍️ Автодифференциальные головоломки
Этот блокнот содержит серию отдельных головоломок для изучения производных в тензорных библиотеках.
✍️ Основы PyTimeTK
Введение в библиотеку pytimetk и то, как вы можете использовать ее для анализа временных рядов.
✍️ Прием платежей с помощью Stripe, Vue.js и Flask
Если вы создаете сайт, чтобы зарабатывать деньги, в какой-то момент вам придется собирать деньги. В этом руководстве показано, как создать приложение Flask, которое интегрируется с Stripe для обработки платежей через платформу Vue.js.
✍️ Создание коннектора RisingWave для Django ORM
В этой статье показано внутреннее устройство Django ORM. Мы создаем прототип коннектора к базе данных потоковой передачи событий RisingWave и включаем возможности информационной панели в Django.
✍️ Автодифференциальные головоломки
Этот блокнот содержит серию отдельных головоломок для изучения производных в тензорных библиотеках.
✍️ Основы PyTimeTK
Введение в библиотеку pytimetk и то, как вы можете использовать ее для анализа временных рядов.
👍2
dataclass
Это декоратор, представленный в Python 3.7, который позволяет автоматически создавать методы класса для реализации структур данных. Это значительно упрощает написание классов, которые используются только для хранения данных.
Преимущества dataclass перед обычными классами
1. Автоматически создает методы __init__, __repr__, __eq__ и другие методы, которые обычно приходится писать вручную.
2. Уменьшает количество шаблонного кода, что делает код более читабельным и легко поддерживаемым.
3. Позволяет указывать типы данных для атрибутов и методов класса, что упрощает отладку кода и уменьшает вероятность появления ошибок.
4. Поддерживает наследование, что позволяет создавать более сложные структуры данных.
#код
Это декоратор, представленный в Python 3.7, который позволяет автоматически создавать методы класса для реализации структур данных. Это значительно упрощает написание классов, которые используются только для хранения данных.
Преимущества dataclass перед обычными классами
1. Автоматически создает методы __init__, __repr__, __eq__ и другие методы, которые обычно приходится писать вручную.
2. Уменьшает количество шаблонного кода, что делает код более читабельным и легко поддерживаемым.
3. Позволяет указывать типы данных для атрибутов и методов класса, что упрощает отладку кода и уменьшает вероятность появления ошибок.
4. Поддерживает наследование, что позволяет создавать более сложные структуры данных.
#код
👍37❤1🤔1
Как создать API в облаке менее чем в 200 строках кода
Современные облачные инструменты и пакеты Python стали настолько мощными, что с их помощью можно создать (масштабируемый) облачный API менее чем в 200 строках кода. В этом посте рассмотрено, как при помощи lines Google Cloud, Terraform и FastAPI развернуть в облаке полноценный API, через который можно отвечать на запросы.
Читать статью
Современные облачные инструменты и пакеты Python стали настолько мощными, что с их помощью можно создать (масштабируемый) облачный API менее чем в 200 строках кода. В этом посте рассмотрено, как при помощи lines Google Cloud, Terraform и FastAPI развернуть в облаке полноценный API, через который можно отвечать на запросы.
Читать статью
👍6