Getters и Setters в Python — это мощный инструмент для управления доступом к атрибутам объекта.
В статье детально рассматривается, как их использовать для инкапсуляции данных и контроля за изменениями свойств объекта.
Основные моменты:
- Объяснение, почему в Python прямой доступ к атрибутам предпочтительнее, но геттеры и сеттеры остаются важными.
- Использование декоратора
- Примеры, как эти механизмы помогают улучшить читаемость и безопасность кода.
https://realpython.com/python-getter-setter/
#python
👉 @python_real
В статье детально рассматривается, как их использовать для инкапсуляции данных и контроля за изменениями свойств объекта.
Основные моменты:
- Объяснение, почему в Python прямой доступ к атрибутам предпочтительнее, но геттеры и сеттеры остаются важными.
- Использование декоратора
@property
для создания свойства с геттером и сеттером. - Примеры, как эти механизмы помогают улучшить читаемость и безопасность кода.
https://realpython.com/python-getter-setter/
#python
👉 @python_real
📕Открытый урок для 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
На открытом уроке 23 января в 20:00 мск мы изучим асинхронное взаимодействие в Python на примере RabbitMQ.
📗В результате мы:
- Поговорим про асинхронное взаимодействие в микросервисной архитектуре и асинхронное программирование в Python;
- Рассмотрим практический пример построения архитектуры приложения;
- Разберемся в преимуществах и недостатках такого подхода.
Спикер Панкрашов Дмитрий — ведущий разработчик в компании-партнере вендора СЭД "Директум", 5+ лет опыта в backend-разработке, работает с Python, PHP, .NET (C#), PostgreSQL.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cHw4uY
📙 Все участники открытого урока получат скидку на курс "Python Developer. Professional"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🐍 Операторы Python `in` и `not in`: проверка на принадлежность
Знаете ли вы, что в Python есть оператор, который делает код чище и удобнее? Это оператор
👉 Что он делает?
Оператор
Примеры использования:
1️⃣ Проверка элемента в списке:
2️⃣ Поиск подстроки в строке:
3️⃣ Проверка ключа в словаре:
💡 Особенности:
- Работает с любыми итерируемыми объектами.
- Для пользовательских классов можно добавить поддержку
⚡ Эффективность:
- Для списков и строк: O(n) (линейная сложность).
- Для множеств (
🔍 Альтернативы:
- Для строк: методы
- Для обработки исключений:
Оператор
https://realpython.com/python-in-operator/
#python
👉 @python_real
Знаете ли вы, что в 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-разработчиком и начать успешную карьеру в IT? Время действовать!
🐍 Python — самый востребованный язык. На курсе вы изучите синтаксис, фреймворки Django и FastAPI, научитесь работать с базами данных и создадите портфолио, которое привлекает топовые команды.
🚀 Программа составлена практикующими экспертами, а выпускники OTUS высоко ценятся среди ведущих компаний. Обучение с нуля до Junior-разработчика за 6 месяцев!
➡️ Старт уже близко — успейте занять место в группе! Узнать больше и получить скидку до 15% по промокоду PythonBasic_5 : https://vk.cc/cHTHM8
🐍 Python — самый востребованный язык. На курсе вы изучите синтаксис, фреймворки Django и FastAPI, научитесь работать с базами данных и создадите портфолио, которое привлекает топовые команды.
🚀 Программа составлена практикующими экспертами, а выпускники OTUS высоко ценятся среди ведущих компаний. Обучение с нуля до Junior-разработчика за 6 месяцев!
➡️ Старт уже близко — успейте занять место в группе! Узнать больше и получить скидку до 15% по промокоду PythonBasic_5 : https://vk.cc/cHTHM8
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Срок действия промокода до 30.01.2025
📜 Python: Списки vs Кортежи — в чем разница?
Статья на Real Python рассказывает о двух основных структурах данных в Python: списках (`list`) и кортежах (
📌 Списки (
- Изменяемые: можно добавлять, удалять и изменять элементы.
- Используются для хранения коллекций, которые могут меняться.
- Пример:
📌 Кортежи (
- Неизменяемые: после создания элементы нельзя изменить.
- Используются для хранения константных данных.
- Пример:
🔍 Когда что использовать?
- Списки: когда данные могут изменяться (например, список задач).
- Кортежи: когда данные должны оставаться постоянными (например, координаты точки).
⚡ Производительность:
- Кортежи работают быстрее списков, так как они неизменяемы и занимают меньше памяти.
Используйте списки и кортежи с умом, чтобы писать эффективный и читаемый код! 🚀
https://realpython.com/python-lists-tuples/
#python
👉 @python_real
Статья на 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
Цикл
Цикл
🔹 Основные возможности:
✅ Простая итерация
Выведет числа от 1 до 5.
✅ Использование
Выведет 0, 1, 2, 3, 4.
✅ Перебор строки
Выведет символы
✅ Перебор словаря
Выведет:
✅ Использование
Выведет:
✅ Цикл
Если
https://realpython.com/python-for-loop/
#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
Эта статья посвящена созданию API на Python. В ней рассматриваются основы API, их применение, а также инструменты и библиотеки, которые помогут вам создать собственное API.
https://realpython.com/python-api/
#python
👉 @python_real
Как использовать
Рассматриваются основные аспекты работы с этим файлом, его структура и как он помогает в управлении зависимостями, настройке инструментов и организации проектов.
Краткий обзор:
-
- Позволяет определять сборщики (build backends), такие как
- Упрощает настройку инструментов вроде
- Дает возможность управлять зависимостями и версиями пакетов.
Использование
https://realpython.com/python-pyproject-toml/
#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
Вот отсортированная база с тонной материала (постепенно пополняется):
БАЗА (4687 видео/книг):
(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++
(343 видео, 87 книги) — Java
(176 видео, 32 книги) — Git
(293 видео, 63 книги) — C#
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP
(227 видео, 83 книги) — SQL/БД
(163 видео, 29 книги) — Linux
(114 видео, 77 книги) — Сисадмин
(107 видео, 43 книги) — BA/SA
(181 видео, 32 книги) — Go
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — Дизайн
(129 видео, 73 книги) — QA
(213 видео, 63 книги) — Rust
(121 видео, 24 книги) — 1С
(136 видео, 33 книги) — PM/HR
Скачивать ничего не нужно — все выложили в Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
Создаем веб-приложения с Dash на Python
Хотите быстро создать интерактивные веб-приложения на Python? Библиотека Dash позволяет легко строить дашборды и визуализации без глубоких знаний веб-разработки. В статье рассматриваются основы работы с Dash, создание пользовательского интерфейса и управление состоянием приложения.
📌 Основные моменты:
🔹 Установка и настройка Dash
🔹 Создание интерактивных графиков с Plotly
🔹 Управление входными данными и callback-функциями
🔹 Развертывание приложения
Отличный инструмент для анализа данных и визуализации в реальном времени!
https://realpython.com/python-dash/
#python
👉 @python_real
Хотите быстро создать интерактивные веб-приложения на 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
Этот гайд подробно объясняет, как использовать библиотеку spaCy для обработки естественного языка (NLP) в Python. В статье рассматриваются основы работы со spaCy, включая:
- Установку и загрузку моделей языка
- Токенизацию текста
- Лемматизацию и определение частей речи
- Распознавание именованных сущностей (NER)
- Работа с зависимостями в предложении
- Создание пользовательских обработчиков для текста
https://realpython.com/natural-language-processing-spacy-python/
#python
👉 @python_real
Объекты
- Основы бинарных данных: понятия битов, байтов, двоичных слов, порядков байтов (эндиянность) и знаковости.
- Объект
- Создание объектов
- Манипуляции с объектами
- Практическое применение: чтение и запись бинарных файлов, сетевые коммуникации, сериализация объектов, работа с изображениями и выполнение байт-кода Python.
Статья предоставляет глубокое понимание того, как эффективно работать с бинарными данными в Python, и содержит практические примеры для закрепления материала.
https://realpython.com/python-bytes/
#python
👉 @python_real
bytes
: обработка бинарных данных в Python- Основы бинарных данных: понятия битов, байтов, двоичных слов, порядков байтов (эндиянность) и знаковости.
- Объект
bytes
в Python: различия между bytes
и bytearray
, а также концепция байтоподобных объектов и протокола буфера.- Создание объектов
bytes
: использование литералов байтов, функции bytes()
и метода класса bytes.fromhex()
.- Манипуляции с объектами
bytes
: операции, схожие со строками, преобразование между байтами и строками, а также различные способы представления байтов.- Практическое применение: чтение и запись бинарных файлов, сетевые коммуникации, сериализация объектов, работа с изображениями и выполнение байт-кода Python.
Статья предоставляет глубокое понимание того, как эффективно работать с бинарными данными в Python, и содержит практические примеры для закрепления материала.
https://realpython.com/python-bytes/
#python
👉 @python_real
🔥Podlodka Python Crew — это онлайн-конференции по самым актуальным темам для питонистов.
Разбираем сложные вещи простыми словами, без воды, с уклоном на практику. Сессии проходят в удобное время — утром и вечером.
С 17 по 21 марта пройдет сезон, посвященный оптимизации работы Python-приложений. Разбираем профилирование, внутренности CPython и техники ускорения кода.
🎯Что в программе?
• Оптимизации, которые вы могли упустить — Александр Кучин (Литрес) расскажет, какие скрытые проблемы могут замедлять код и как их исправить 🚀
• Как работает CPython — от запуска скрипта до управления памятью — Василий Рябов разберет, как Python читает и выполняет код, управляет памятью и garbage collection 📌
• Своя Игра: уровни глубины знаний Python-разработчика — Нина Лукина и Евгений Афонасьев в формате викторины объяснят, как Python работает под капотом. Это будет эпично 🎮
• Профилирование на Python — Василий Исаев (Точка) объяснит, как находить узкие места в коде и повышать его производительность с помощью профилирования 💡
Подходы, которые можно внедрить сразу после конференции!
🔗 Подробности и билеты: https://podlodka.io/pythoncrew
Разбираем сложные вещи простыми словами, без воды, с уклоном на практику. Сессии проходят в удобное время — утром и вечером.
С 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 с использованием функций, таких как
- Мониторинг эффективности LazyFrame.
- Механизмы, обеспечивающие эффективность LazyFrame, включая исследование оптимизированных и неоптимизированных планов запросов.
- Обработка больших объемов данных с помощью LazyFrame, включая использование потоковой обработки и определение случаев, когда ее следует применять.
- Критерии для определения пригодности использования LazyFrame в конкретных сценариях.
https://realpython.com/polars-lazyframe/
#python
👉 @python_real
Подробный туториал о работе с 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
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
LangGraph: Создание AI-агентов с сохранением состояния на Python
Эта статья рассказывает о LangGraph, новой библиотеке для Python, предназначенной для построения графов состояний с использованием LangChain. Она полезна для работы с агентами искусственного интеллекта, позволяя задавать сложные логические потоки в виде графов.
Основные моменты статьи:
- Как установить и настроить LangGraph.
- Создание простых графов состояний с узлами и переходами.
- Интеграция с LangChain для управления агентами ИИ.
- Разбор практических примеров, включая ветвление логики и параллельное выполнение задач.
Эта библиотека особенно полезна для создания сложных сценариев работы ИИ, например, чат-ботов с разными путями обработки запросов.
https://realpython.com/preview/langgraph-python/
#python
👉 @python_real
Эта статья рассказывает о 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
Примерно месяц назад проект CPython смерджил новую стратегию реализации интерпретатора байт-кода. Первоначальные результаты были очень впечатляющими, продемонстрировав среднее повышение производительности на 10-15% в широком спектре бенчмарков на различных платформах.
https://habr.com/ru/companies/ruvds/articles/891562/
original https://blog.nelhage.com/post/cpython-tail-call/
#python
👉 @python_real
20 марта (в четверг) в 19:00 по мск приходи на открытый урок, где ментор объяснит, какую очередь лучше выбрать для своих проектов и не тратить время на переделки.
Разберем все, что нужно знать про очереди для работы и собесов:
Это бесплатно. Лекция проходит в рамках курса от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд и прокачать скиллы.
+ Все участники эфира получат бесплатный урок по System Design.
Переходи в бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwLFHe7
Please open Telegram to view this post
VIEW IN TELEGRAM
О векторных базах данных простым языком
Представьте, что управляете онлайн-магазином, предлагающим тысячи товаров.
Чтобы помочь пользователям находить нужные позиции, вы добавили строку поиска. Теперь посетители могут вводить интересующие их запросы, на что вы будете показывать им подходящие результаты.
Например, когда пользователь вводит «лето», вы можете показывать предметы вроде шортов, платьев, панам и пляжных зонтов.
Как бы вы реализовали такую систему?
https://getdeploying.com/guides/vector-databases
#python
👉 @python_real
Представьте, что управляете онлайн-магазином, предлагающим тысячи товаров.
Чтобы помочь пользователям находить нужные позиции, вы добавили строку поиска. Теперь посетители могут вводить интересующие их запросы, на что вы будете показывать им подходящие результаты.
Например, когда пользователь вводит «лето», вы можете показывать предметы вроде шортов, платьев, панам и пляжных зонтов.
Как бы вы реализовали такую систему?
https://getdeploying.com/guides/vector-databases
#python
👉 @python_real
Три открытых урока для Python-разработчиков
Если уже освоили базовый Python и хотите прокачаться в веб-разработке — не пропустите бесплатные занятия от OTUS.
📺 Web-фреймворк на Python за час | 26 марта в 20:00 (Мск)
Разберём, как работает WSGI, создадим минимальный фреймворк с маршрутизацией и поймём, что лежит в основе Django.
→ Записаться
📺 Знакомство с Django REST Framework: создание API на Django | 17 апреля в 20:00 (Мск)
Узнаете, как строить REST API на Django, сделаете первый шаг к полноценным бэкенд-сервисам.
→ Записаться
📺 Асинхронное Django-приложение: работа с асинхронными ORM и views | 23 апреля в 20:00 (Мск)
Освоите asyncio в Django, научитесь писать асинхронные представления и взаимодействовать с БД.
→ Записаться
Записывайтесь на открытые уроки и получите практические знания из первых рук. Все занятия проводятся онлайн, а ведут их опытные разработчики!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Если уже освоили базовый Python и хотите прокачаться в веб-разработке — не пропустите бесплатные занятия от OTUS.
📺 Web-фреймворк на Python за час | 26 марта в 20:00 (Мск)
Разберём, как работает WSGI, создадим минимальный фреймворк с маршрутизацией и поймём, что лежит в основе Django.
→ Записаться
📺 Знакомство с Django REST Framework: создание API на Django | 17 апреля в 20:00 (Мск)
Узнаете, как строить REST API на Django, сделаете первый шаг к полноценным бэкенд-сервисам.
→ Записаться
📺 Асинхронное Django-приложение: работа с асинхронными ORM и views | 23 апреля в 20:00 (Мск)
Освоите asyncio в Django, научитесь писать асинхронные представления и взаимодействовать с БД.
→ Записаться
Записывайтесь на открытые уроки и получите практические знания из первых рук. Все занятия проводятся онлайн, а ведут их опытные разработчики!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Методы экземпляра, класса и статические методы в Python — просто о сложном
В Python у нас есть три типа методов: экземпляра (instance methods), классовые (class methods) и статические (static methods). Все они определяются внутри класса, но различаются по тому, как они работают и как к ним обращаться.
🧩 Методы экземпляра
Это наиболее распространённый тип. Они автоматически получают первым аргументом ссылку на объект (
Вызывается через экземпляр:
🧱 Классовые методы
Получают в качестве первого аргумента сам класс (
Вызывается через класс или экземпляр:
Часто используется как альтернативный конструктор:
🧊 Статические методы
Не получают ни
Вызывается так же:
🤔 Когда использовать какой метод?
- Используйте методы экземпляра, если нужно работать с данными конкретного объекта.
- Используйте классовые методы, если работаете с самим классом (например, создаёте объекты по альтернативной логике).
- Используйте статические методы, если метод связан с классом логически, но не требует доступа ни к данным экземпляра, ни к атрибутам класса.
https://realpython.com/instance-class-and-static-methods-demystified/
#python
👉 @python_real
В Python у нас есть три типа методов: экземпляра (instance methods), классовые (class methods) и статические (static methods). Все они определяются внутри класса, но различаются по тому, как они работают и как к ним обращаться.
🧩 Методы экземпляра
Это наиболее распространённый тип. Они автоматически получают первым аргументом ссылку на объект (
self
), через который можно обращаться к атрибутам и другим методам этого объекта.
class MyClass:
def instance_method(self):
print(f'Вызван instance_method: {self}')
Вызывается через экземпляр:
obj = MyClass()
obj.instance_method()
🧱 Классовые методы
Получают в качестве первого аргумента сам класс (
cls
). Это позволяет работать с атрибутами класса, а не отдельного объекта.
class MyClass:
@classmethod
def class_method(cls):
print(f'Вызван class_method: {cls}')
Вызывается через класс или экземпляр:
MyClass.class_method()
obj.class_method()
Часто используется как альтернативный конструктор:
class Book:
def __init__(self, title, author):
self.title = title
self.author = author
@classmethod
def from_string(cls, book_str):
title, author = book_str.split(' - ')
return cls(title, author)
🧊 Статические методы
Не получают ни
self
, ни cls
. Это просто функции, определённые в теле класса для логической организации, когда они имеют отношение к классу, но не используют его состояние.
class MyClass:
@staticmethod
def static_method():
print('Вызван static_method')
Вызывается так же:
MyClass.static_method()
obj.static_method()
🤔 Когда использовать какой метод?
- Используйте методы экземпляра, если нужно работать с данными конкретного объекта.
- Используйте классовые методы, если работаете с самим классом (например, создаёте объекты по альтернативной логике).
- Используйте статические методы, если метод связан с классом логически, но не требует доступа ни к данным экземпляра, ни к атрибутам класса.
https://realpython.com/instance-class-and-static-methods-demystified/
#python
👉 @python_real