Sobes.tech
Junior — Middle

Meg tudná magyarázni, hogy mit értünk az introspekció kifejezés alatt a programozásban?

sobes.tech MI

Válasz az MI-től

A programozásban az introspekció az a képesség, hogy a program saját szerkezetét futás közben vizsgálja. Pythonban ez azt jelenti, hogy lehetőség van az objektumok típusairól, attribútumairól, metódusairól és más jellemzőiről dinamikusan információkat szerezni.

Például a type(), dir(), getattr() függvények segítségével megtudhatjuk, hogy milyen metódusok érhetők el egy objektumon, vagy dinamikusan meghívhatjuk azokat.

Introspekció példája:

class MyClass:
    def method(self):
        pass

obj = MyClass()

print(type(obj))          # <class '__main__.MyClass'>
print(dir(obj))           # attribútumok és metódusok listája
print(hasattr(obj, 'method'))  # Igaz
method = getattr(obj, 'method')
method()  # metódus dinamikus hívása

Az introspekció hasznos rugalmas és dinamikus kód írásához, például keretrendszerekben, tesztekben vagy objektumok sorosításakor.