Вопрос проверяет знание стандартной библиотеки Python для интроспекции объектов и функций.
Интроспекция в Python — это возможность исследовать объекты во время выполнения программы, получая информацию об их типе, атрибутах, методах и структуре. Стандартная библиотека inspect предоставляет удобные функции для этой задачи, позволяя разработчикам писать более гибкий и самодиагностируемый код.
inspect.getsource() возвращает текст функции, класса или модуля.inspect.signature() показывает параметры функции и их значения по умолчанию.inspect.ismodule(), inspect.isfunction(), inspect.isclass() и другие.inspect.stack() возвращает текущий стек для отладки.import inspect
def example(a, b=10):
"""Простая функция для демонстрации"""
return a + b
# Получаем сигнатуру функции
sig = inspect.signature(example)
print(sig) # (a, b=10)
# Получаем исходный код
print(inspect.getsource(example))
# Проверяем, является ли объект функцией
print(inspect.isfunction(example)) # TrueБиблиотека inspect активно используется в фреймворках (например, Django, Flask) для автоматической генерации документации, в декораторах для логирования вызовов, а также в инструментах тестирования и отладки. Она позволяет создавать код, который адаптируется к структуре других объектов без жёсткой привязки.
Вывод: Используйте inspect, когда нужно динамически анализировать код, создавать гибкие API или отлаживать сложные системы. Это мощный инструмент для метапрограммирования и рефлексии в Python.