Junior — Middle
Explicați conceptul de metaclasa și rolul său în definirea claselor în Python
sobes.tech AI
Răspuns de la AI
În Python, o metaclasa este o clasă care creează alte clase. Pe scurt, o clasă este un obiect, iar o metaclasa este "o clasă pentru clase".
În mod implicit, toate clasele în Python sunt create folosind metaclasa type. Metaclasa determină modul exact în care este creată clasa, ce atribute și metode va avea.
Rolul metaclasei:
- Gestionarea procesului de creare a clasei (de exemplu, adăugarea automată a metodelor sau verificarea atributelor).
- Permite modificarea comportamentului claselor în timpul definirii lor.
Exemplu de utilizare a unei metaclase:
class Meta(type):
def __new__(cls, name, bases, dct):
dct['greet'] = lambda self: f"Salut de la {name}!"
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=Meta):
pass
obj = MyClass()
print(obj.greet()) # Va afișa: Salut de la {name}!
Aici, metaclasa adaugă metoda greet tuturor claselor care o utilizează.