Sobes.tech
Junior — Middle

Care este scopul metodei magice __get în Python?

sobes.tech AI

Răspuns de la AI

În Python, metoda magică __getattr__ este utilizată pentru interceptarea apelurilor către atribute inexistente, iar metoda __get__ face parte din protocolul descriptorilor, care gestionează accesul la atribute. Cu toate acestea, în întrebare se menționează __get, ceea ce este caracteristic pentru PHP, nu pentru Python.

Dacă vorbim despre PHP, metoda magică __get este apelată atunci când se încearcă accesul la o proprietate a obiectului care nu există sau care nu este accesibilă (de exemplu, privată). Acest lucru permite tratarea dinamică a acestor apeluri, de exemplu, returnând valori calculate sau date dintr-o altă sursă.

Exemplu în PHP:

class User {
    private $data = ['name' => 'Ivan', 'age' => 30];

    public function __get($property) {
        if (array_key_exists($property, $this->data)) {
            return $this->data[$property];
        }
        return null;
    }
}

$user = new User();
echo $user->name; // Va afișa "Ivan"

Astfel, __get permite implementarea încărcării leneșe a proprietăților sau controlul accesului la date.