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.