Sobes.tech
Junior — Middle

Môžete vysvetliť, čo sa rozumie pod pojmom introspekcia v programovaní?

sobes.tech AI

Odpoveď od AI

Introspekcia v programovaní je schopnosť programu skúmať vlastnú štruktúru počas behu. V Pythone to znamená možnosť dynamicky získavať informácie o typoch objektov, ich atribútoch, metódach a ďalších vlastnostiach.

Napríklad pomocou funkcií ako type(), dir(), getattr() môžete zistiť, aké metódy sú dostupné na objekte, alebo ich dynamicky volať.

Príklad introspekcie:

class MyClass:
    def method(self):
        pass

obj = MyClass()

print(type(obj))          # <class '__main__.MyClass'>
print(dir(obj))           # zoznam atribútov a metód
print(hasattr(obj, 'method'))  # True
method = getattr(obj, 'method')
method()  # dynamické volanie metódy

Introspekcia je užitočná na písanie flexibilného a dynamického kódu, napríklad v frameworkoch, testoch alebo pri serializácii objektov.