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.