Sobes.tech
Junior — Middle

¿Cuál es la finalidad del método mágico __get en Python?

sobes.tech AI

Respuesta de la IA

En Python, el método mágico __getattr__ se utiliza para interceptar llamadas a atributos que no existen, y el método __get__ es parte del protocolo de descriptores, que gestiona el acceso a los atributos. Sin embargo, en la pregunta se menciona __get, lo cual es característico de PHP, no de Python.

Si hablamos de PHP, el método mágico __get se llama cuando se intenta acceder a una propiedad del objeto que no existe o que no es accesible (por ejemplo, privada). Esto permite manejar dinámicamente esas llamadas, por ejemplo, devolviendo valores calculados o datos de otra fuente.

Ejemplo en 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; // Imprime "Ivan"

De esta forma, __get permite implementar carga perezosa de propiedades o controlar el acceso a los datos.