Реальный Python
3.79K subscribers
802 photos
10 videos
7 files
849 links
Все о пайтон, новости, подборки на русском и английском. По всем вопросам @evgenycarter
Download Telegram
📜 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
Производительность интерпретатора 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