А вы знали, что в Python классы можно создавать не только через ключевое слово
class
?Это возможно благодаря встроенной функции
type()
— с помощью нее можно динамически формировать структуру класса прямо во время выполнения кода.Рассмотрим пример:
MyClass = type('MyClass', (), {'x': 10})
obj = MyClass()
print(obj.x) # → 10
Здесь мы создаём новый класс MyClass с атрибутом x, без использования class.
Функция
type()
в этом виде принимает три аргумента: имя класса — 'MyClass'
, кортеж базовых классов — ()
, словарь атрибутов и методов — {'x': 10}
.На выходе — полноценный класс, эквивалентный обычному.
Такой подход позволяет создавать и настраивать классы в рантайме — это полезно, если нужно:
▶️ сформировать структуру объекта из JSON или схемы▶️ динамически сгенерировать классы для тестов, моков или CLI-команд▶️ построить кастомный мини-фреймворк под задачу
Такие приёмы используют и крупные библиотеки вроде Django, SQLAlchemy и Pydantic — но фишка работает и в обычных проектах.
tags: #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
❤54👍6🔥6😎3
Что такое
truthy
и falsy
значения?Ответ:
Значения вроде 0, 0.0, '', [], {}, set() и None считаются falsy, то есть ведут себя как False. Всё остальное — truthy, то есть воспринимается как True.
Это позволяет писать лаконичные условия без явных сравнений, например if my_list: вместо if len(my_list) > 0:.
Подробнее — в этом посте.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍7❤6
В статье автор на реальном проекте показывает, как быстро внедрить авторизацию в FastAPI через Keycloak без избыточной логики и ручного управления пользователями.
Разбираются реальные нюансы интеграции: от настройки клиента и ролей до защиты эндпоинтов и обработки токенов.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍4🔥4
Можно ли поменять местами две переменные без временной переменной?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍6❤3
you-get — это утилита командной строки на Python для скачивания видео, музыки и изображений с YouTube, TikTok, Bilibili и других платформ.
Позволяет сохранять медиафайлы напрямую по URL — без браузера, рекламы и лишней возни.
Установка:
pip install you-get
Пример использования:
you-get https://www.youtube.com/watch?v=dQw4w9WgXcQ
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33👍9🔥6⚡1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32😁22🤣17
🤯17👍12❤2
В статье автор создаёт симулятор гравитации на Python, который наглядно показывает, как планеты движутся под действием закона Ньютона.
Подробно разбирается, как из физики рождается код: от расчёта сил и численного интегрирования до визуализации орбит и оптимизации вычислений — всё с понятными пояснениями и готовым кодом.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍7🔥5
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51😁35⚡7👍3👨💻3💯2🤣2
Почему оператор
is
нельзя использовать для сравнения строк и чисел в Python?Ответ:
Для сравнения содержимого нужно использовать ==, иначе результат может быть непредсказуемым и зависеть от реализации интерпретатора.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
💯18❤7👍5
Типизация в Python необязательна, но если ею пользоваться, код становится понятнее, стабильнее и проще в поддержке — особенно в командах и на масштабных проектах.
Аннотации позволяют явно описывать, что функция принимает и возвращает, а инструменты вроде mypy ловят ошибки ещё до запуска.
Как всё это работает и зачем действительно стоит этим пользоваться — разобрано в статье.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍7🔥6
Как устроен
pip
install
под капотом и откуда он берёт пакеты?Ответ:
В зависимости от типа пакета, он либо компилирует C-расширения, либо устанавливает Python-код напрямую в окружение (обычно в site-packages). Все установленные пакеты регистрируются в метаданных, чтобы pip мог отслеживать зависимости.
Источник можно переопределить с помощью --index-url или установить пакет напрямую из git, архива или локальной директории.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍8🔥6
unittest — это встроенный инструмент для написания и запуска модульных тестов. Он помогает убедиться, что изменения в коде не ломают существующую логику.
Что умеет unittest:
▶️ Поддерживает структуру xUnit, знакомую по другим языкам (например, JUnit в Java)▶️ Позволяет создавать независимые тесты для функций и классов▶️ Даёт доступ к множеству assert-методов (assertEqual, assertTrue, assertRaises и др.)▶️ Группирует тесты в классы, а также позволяет создавать наборы и запускать их вместе▶️ Работает “из коробки” — ничего устанавливать не нужно▶️ Поддерживает запуск тестов из командной строки и CI/CD-сред▶️ Помогает найти ошибки до того, как они попадут в прод
Библиотека подходит для проектов любого масштаба и позволяет системно контролировать поведение кода при его развитии.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣72😁12❤4🔥1
Для чего нужен файл с расширением
.env
?Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15🔥11
В статье рассказывается, как использовать SQLite в Python для хранения структурированных данных без лишних зависимостей.
Автор показывает, как создать базу, таблицы, добавить данные и избежать типичных ошибок — всё на примере с понятным кодом и пояснениями.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍4❤2