Реальный Python
3.8K subscribers
802 photos
10 videos
7 files
849 links
Все о пайтон, новости, подборки на русском и английском. По всем вопросам @evgenycarter
Download Telegram
🔍 Замена строк в Python: Полное руководство 🔍

Если вы хотите научиться эффективно работать со строками в Python, это руководство — то, что вам нужно! В статье подробно разбираются различные подходы к замене строк: от методов str.replace() до использования регулярных выражений для более сложных задач.

https://realpython.com/replace-string-python/

#python

👉 @python_real
👍3
Узнай грейд и рыночную зарплату + получи план развития бесплатно

На связи ШОРТКАТ. Мы провели 300+ собеседований с менторами из бигтеха, собрали ключевые вопросы с собесов и сделали тест, который поможет оценить навыки.

Вот как это работает:

1. Ты проходишь экспресс-тест за 20 минут или его расширенную версию

2. Бронируешь звонок для презентации обратной связи по ответам — можем встретиться уже на следующий день!

3. К созвону проверим ответы, чекнем СV и на основе этого оценим твой грейд.

Ещё подскажем зарплату в рынке, построим план развития до следующего уровня и расскажем про наш новый продукт, который поможет получить выгодный оффер в 2025 году.

Переходи в бота и проходи тест бесплатно, а дальше расскажем, что и как  👉@shortcut_python_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzqxm3TS3
💩1
NumPy: max() и maximum(): поиск экстремальных значений в массивах

Статья посвящена сравнению функций numpy.max() и numpy.maximum() из библиотеки NumPy. Автор подробно объясняет их различия, примеры использования и подходящие сценарии для каждой функции.

Основные моменты статьи:
- numpy.max():
Используется для нахождения одного максимального значения по всему массиву или вдоль указанной оси.
Примеры применения включают вычисление глобального максимума или максимума в строках/столбцах массива.
- numpy.maximum():
Работает с двумя массивами и возвращает массив, состоящий из максимальных значений поэлементно.
Подходит для задач сравнения массивов одинаковой формы или работы с широковещанием (broadcasting).
- Подробные примеры иллюстрируют, как использовать обе функции в реальных задачах.
- Рассматриваются случаи, когда важны производительность и корректность выбора функций.

Статья помогает глубже понять, как правильно выбирать между этими функциями в зависимости от целей анализа данных или вычислений.

https://realpython.com/numpy-max-maximum/

#python

👉 @python_real
👍3
Getters и Setters в Python — это мощный инструмент для управления доступом к атрибутам объекта.

В статье детально рассматривается, как их использовать для инкапсуляции данных и контроля за изменениями свойств объекта.

Основные моменты:
- Объяснение, почему в Python прямой доступ к атрибутам предпочтительнее, но геттеры и сеттеры остаются важными.
- Использование декоратора @property для создания свойства с геттером и сеттером.
- Примеры, как эти механизмы помогают улучшить читаемость и безопасность кода.

https://realpython.com/python-getter-setter/

#python

👉 @python_real
👍2
📕Открытый урок для Python-разработчиков, инженеров, QA-специалистов и специалистов по Data Science

На открытом уроке 23 января в 20:00 мск мы изучим асинхронное взаимодействие в Python на примере RabbitMQ.

📗В результате мы:
- Поговорим про асинхронное взаимодействие в микросервисной архитектуре и асинхронное программирование в Python;
- Рассмотрим практический пример построения архитектуры приложения;
- Разберемся в преимуществах и недостатках такого подхода.

Спикер Панкрашов Дмитрий — ведущий разработчик в компании-партнере вендора СЭД "Директум", 5+ лет опыта в backend-разработке, работает с Python, PHP, .NET (C#), PostgreSQL.

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cHw4uY

📙 Все участники открытого урока получат скидку на курс "Python Developer. Professional"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🤡1
🐍 Операторы Python `in` и `not in`: проверка на принадлежность

Знаете ли вы, что в Python есть оператор, который делает код чище и удобнее? Это оператор in! 🎯

👉 Что он делает?
Оператор in проверяет, содержится ли элемент в последовательности (списке, строке, кортеже) или ключ в словаре. Возвращает True, если находит, и False, если нет.

Примеры использования:
1️⃣ Проверка элемента в списке:

"a" in ["a", "b", "c"] # True


2️⃣ Поиск подстроки в строке:

"hello" in "hello world" # True


3️⃣ Проверка ключа в словаре:

"key" in {"key": "value"} # True


💡 Особенности:
- Работает с любыми итерируемыми объектами.
- Для пользовательских классов можно добавить поддержку in, реализовав метод __contains__.

Эффективность:
- Для списков и строк: O(n) (линейная сложность).
- Для множеств (set) и словарей (dict): O(1) (почти мгновенно, благодаря хэш-таблицам).

🔍 Альтернативы:
- Для строк: методы str.find() или str.index().
- Для обработки исключений: try и except.

Оператор in — это не только удобно, но и читаемо! Используйте его, чтобы писать лаконичный и понятный код. 😉

https://realpython.com/python-in-operator/

#python

👉 @python_real
👍5
😎 Хотите стать Python-разработчиком и начать успешную карьеру в IT? Время действовать!

🐍 Python — самый востребованный язык. На курсе вы изучите синтаксис, фреймворки Django и FastAPI, научитесь работать с базами данных и создадите портфолио, которое привлекает топовые команды.

🚀 Программа составлена практикующими экспертами, а выпускники OTUS высоко ценятся среди ведущих компаний. Обучение с нуля до Junior-разработчика за 6 месяцев!

➡️ Старт уже близко — успейте занять место в группе! Узнать больше и получить скидку до 15% по промокоду PythonBasic_5 : https://vk.cc/cHTHM8

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Срок действия промокода до 30.01.2025
👍1🔥1
📜 Python: Списки vs Кортежи — в чем разница?

Статья на Real Python рассказывает о двух основных структурах данных в Python: списках (`list`) и кортежах (tuple). Вот ключевые моменты:

📌 Списки (list):
- Изменяемые: можно добавлять, удалять и изменять элементы.
- Используются для хранения коллекций, которые могут меняться.
- Пример:

my_list = [1, 2, 3]
my_list.append(4) # [1, 2, 3, 4]


📌 Кортежи (tuple):
- Неизменяемые: после создания элементы нельзя изменить.
- Используются для хранения константных данных.
- Пример:

my_tuple = (1, 2, 3)
# my_tuple[0] = 10 # Ошибка! Кортежи неизменяемы.


🔍 Когда что использовать?
- Списки: когда данные могут изменяться (например, список задач).
- Кортежи: когда данные должны оставаться постоянными (например, координаты точки).


Производительность:
- Кортежи работают быстрее списков, так как они неизменяемы и занимают меньше памяти.


Используйте списки и кортежи с умом, чтобы писать эффективный и читаемый код! 🚀

https://realpython.com/python-lists-tuples/

#python

👉 @python_real
👍5
Цикл for в Python: разбор возможностей

Цикл for в Python — это мощный инструмент для итерации по последовательностям, таким как списки, кортежи, строки и даже словари. В отличие от традиционного for в других языках, здесь он работает как итератор, проходя по элементам коллекции без явного указания индексов.

🔹 Основные возможности:
Простая итерация

for num in [1, 2, 3, 4, 5]:
print(num)

Выведет числа от 1 до 5.

Использование range()

for i in range(5): # Эквивалентно range(0, 5)
print(i)

Выведет 0, 1, 2, 3, 4.

Перебор строки

for char in "Python":
print(char)

Выведет символы P, y, t, h, o, n.

Перебор словаря

data = {"name": "Alice", "age": 25}
for key, value in data.items():
print(f"{key}: {value}")

Выведет:

name: Alice
age: 25


Использование enumerate() для индексов

words = ["apple", "banana", "cherry"]
for index, word in enumerate(words):
print(index, word)

Выведет:

0 apple
1 banana
2 cherry


Цикл for с else

for i in range(3):
print(i)
else:
print("Цикл завершен!")

Если break не был вызван, else выполнится после окончания цикла.

https://realpython.com/python-for-loop/

#python

👉 @python_real
👍4
Python и API: выигрышное сочетание для чтения общедоступных данных

Эта статья посвящена созданию API на Python. В ней рассматриваются основы API, их применение, а также инструменты и библиотеки, которые помогут вам создать собственное API.

https://realpython.com/python-api/

#python

👉 @python_real
👍4
Как использовать pyproject.toml в Python

Рассматриваются основные аспекты работы с этим файлом, его структура и как он помогает в управлении зависимостями, настройке инструментов и организации проектов.

Краткий обзор:
- pyproject.toml появился в PEP 518 и стал стандартом для описания конфигурации Python-проектов.
- Позволяет определять сборщики (build backends), такие как setuptools или poetry.
- Упрощает настройку инструментов вроде black, mypy и pytest.
- Дает возможность управлять зависимостями и версиями пакетов.

Использование pyproject.toml делает проекты более структурированными и гибкими, особенно при работе с различными инструментами и системами сборки.

https://realpython.com/python-pyproject-toml/

#python

👉 @python_real
👍42
Создаем веб-приложения с Dash на Python

Хотите быстро создать интерактивные веб-приложения на Python? Библиотека Dash позволяет легко строить дашборды и визуализации без глубоких знаний веб-разработки. В статье рассматриваются основы работы с Dash, создание пользовательского интерфейса и управление состоянием приложения.

📌 Основные моменты:
🔹 Установка и настройка Dash
🔹 Создание интерактивных графиков с Plotly
🔹 Управление входными данными и callback-функциями
🔹 Развертывание приложения

Отличный инструмент для анализа данных и визуализации в реальном времени!

https://realpython.com/python-dash/

#python

👉 @python_real
👍5
Обработка естественного языка с помощью spaCy в Python

Этот гайд подробно объясняет, как использовать библиотеку spaCy для обработки естественного языка (NLP) в Python. В статье рассматриваются основы работы со spaCy, включая:

- Установку и загрузку моделей языка
- Токенизацию текста
- Лемматизацию и определение частей речи
- Распознавание именованных сущностей (NER)
- Работа с зависимостями в предложении
- Создание пользовательских обработчиков для текста

https://realpython.com/natural-language-processing-spacy-python/

#python

👉 @python_real
👍4
Объекты bytes: обработка бинарных данных в Python

- Основы бинарных данных: понятия битов, байтов, двоичных слов, порядков байтов (эндиянность) и знаковости.

- Объект bytes в Python: различия между bytes и bytearray, а также концепция байтоподобных объектов и протокола буфера.

- Создание объектов bytes: использование литералов байтов, функции bytes() и метода класса bytes.fromhex().

- Манипуляции с объектами bytes: операции, схожие со строками, преобразование между байтами и строками, а также различные способы представления байтов.

- Практическое применение: чтение и запись бинарных файлов, сетевые коммуникации, сериализация объектов, работа с изображениями и выполнение байт-кода Python.

Статья предоставляет глубокое понимание того, как эффективно работать с бинарными данными в Python, и содержит практические примеры для закрепления материала.


https://realpython.com/python-bytes/

#python

👉 @python_real
👍2
🔥Podlodka Python Crew — это онлайн-конференции по самым актуальным темам для питонистов.

Разбираем сложные вещи простыми словами, без воды, с уклоном на практику. Сессии проходят в удобное время — утром и вечером.

С 17 по 21 марта пройдет сезон, посвященный оптимизации работы Python-приложений. Разбираем профилирование, внутренности CPython и техники ускорения кода.

🎯Что в программе?

Оптимизации, которые вы могли упустить — Александр Кучин (Литрес) расскажет, какие скрытые проблемы могут замедлять код и как их исправить 🚀

Как работает CPython — от запуска скрипта до управления памятью — Василий Рябов разберет, как Python читает и выполняет код, управляет памятью и garbage collection 📌

Своя Игра: уровни глубины знаний Python-разработчика — Нина Лукина и Евгений Афонасьев в формате викторины объяснят, как Python работает под капотом. Это будет эпично 🎮

Профилирование на Python — Василий Исаев (Точка) объяснит, как находить узкие места в коде и повышать его производительность с помощью профилирования 💡

Подходы, которые можно внедрить сразу после конференции!

🔗 Подробности и билеты: https://podlodka.io/pythoncrew
Как работать с Polars LazyFrames

Подробный туториал о работе с Polars LazyFrame. LazyFrame в Polars предоставляет эффективный способ обработки больших наборов данных через ленивые вычисления. В отличие от традиционных DataFrame, LazyFrame не содержит данных, а хранит набор инструкций, известных как план запроса. Это позволяет выполнять такие операции, как "predicate" и "projection pushdown", обеспечивая обработку только необходимых строк и столбцов. LazyFrame также поддерживает параллельное выполнение планов запросов, что дополнительно повышает производительность.

В статье рассматриваются следующие ключевые моменты:

- Создание LazyFrame с использованием функций, таких как scan_parquet() или scan_csv().
- Мониторинг эффективности LazyFrame.
- Механизмы, обеспечивающие эффективность LazyFrame, включая исследование оптимизированных и неоптимизированных планов запросов.
- Обработка больших объемов данных с помощью LazyFrame, включая использование потоковой обработки и определение случаев, когда ее следует применять.
- Критерии для определения пригодности использования LazyFrame в конкретных сценариях.

https://realpython.com/polars-lazyframe/

#python

👉 @python_real
👍4
🔍Тестовое собеседование на Middle Python-разработчика в четверг

13 марта(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Даня, старший разработчик СберМаркете будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Дане

Что узнаешь на прямом эфире от ШОРТКАТ:
1. Чего ждут от кандидатов на Middle позиции в Python-разработке
2. Какие вопросы задают на интервью и зачем
3. Как подготовиться к собесу, чтобы получить оффер

Это бесплатно?
Бесплатно

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwxoKNX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
LangGraph: Создание AI-агентов с сохранением состояния на Python

Эта статья рассказывает о LangGraph, новой библиотеке для Python, предназначенной для построения графов состояний с использованием LangChain. Она полезна для работы с агентами искусственного интеллекта, позволяя задавать сложные логические потоки в виде графов.

Основные моменты статьи:
- Как установить и настроить LangGraph.
- Создание простых графов состояний с узлами и переходами.
- Интеграция с LangChain для управления агентами ИИ.
- Разбор практических примеров, включая ветвление логики и параллельное выполнение задач.

Эта библиотека особенно полезна для создания сложных сценариев работы ИИ, например, чат-ботов с разными путями обработки запросов.

https://realpython.com/preview/langgraph-python/

#python

👉 @python_real
👍3
Производительность интерпретатора Python 3.14 с оптимизацией хвостовых вызовов

Примерно месяц назад проект CPython смерджил новую стратегию реализации интерпретатора байт-кода. Первоначальные результаты были очень впечатляющими, продемонстрировав среднее повышение производительности на 10-15% в широком спектре бенчмарков на различных платформах.

https://habr.com/ru/companies/ruvds/articles/891562/

original https://blog.nelhage.com/post/cpython-tail-call/

#python

👉 @python_real
👍2