Реальный Python
3.78K subscribers
801 photos
10 videos
7 files
848 links
Все о пайтон, новости, подборки на русском и английском. По всем вопросам @evgenycarter
Download Telegram
🐍 Операторы 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
📜 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
Цикл 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
Python и API: выигрышное сочетание для чтения общедоступных данных

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

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

#python

👉 @python_real
Как использовать 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
Создаем веб-приложения с Dash на Python

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

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

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

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

#python

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

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

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

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

#python

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

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

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

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

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

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

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


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

#python

👉 @python_real
Как работать с 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
LangGraph: Создание AI-агентов с сохранением состояния на Python

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

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

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

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

#python

👉 @python_real