Sobes.tech
Back to questions
Junior — Middle
50

Можете объяснить, что подразумевается под термином интроспекция в программировании?

Answer from AI

sobes.tech AI

Интроспекция в программировании — это способность программы исследовать собственную структуру во время выполнения. В Python это означает возможность получать информацию о типах объектов, их атрибутах, методах и других характеристиках динамически.

Например, с помощью функций type(), dir(), getattr() можно узнать, какие методы доступны у объекта, или вызвать их динамически.

Пример интроспекции:

class MyClass:
    def method(self):
        pass

obj = MyClass()

print(type(obj))          # <class '__main__.MyClass'>
print(dir(obj))           # список атрибутов и методов
print(hasattr(obj, 'method'))  # True
method = getattr(obj, 'method')
method()  # вызов метода динамически

Интроспекция полезна для написания гибкого и динамического кода, например, в фреймворках, тестах или при сериализации объектов.