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() # вызов метода динамически
Интроспекция полезна для написания гибкого и динамического кода, например, в фреймворках, тестах или при сериализации объектов.