Maison > développement back-end > Tutoriel Python > Quand et comment devez-vous utiliser la fonction « getattr() » de Python ?

Quand et comment devez-vous utiliser la fonction « getattr() » de Python ?

DDD
Libérer: 2024-12-19 03:40:09
original
422 Les gens l'ont consulté

When and How Should You Use Python's `getattr()` Function?

Comprendre et utiliser Getattr() en Python

Bien que vous ayez peut-être rencontré la fonction getattr, comprendre son véritable objectif peut être insaisissable. Au-delà de sa capacité à refléter li.pop sous la forme getattr(li, "pop"), une compréhension plus approfondie de getattr est cruciale.

Quand et comment utiliser Getattr()

Les objets Python possèdent des attributs, notamment des propriétés de données et de fonctions. L'accès à ces attributs implique généralement person.name ou person.the_method(). Cependant, il arrive parfois que le nom de l'attribut soit inconnu jusqu'à l'exécution. C'est là que getattr brille.

Considérez une variable attr_name stockant le nom d'un attribut (par exemple, « sexe »). Au lieu de person.gender, nous pouvons utiliser getattr(person, attr_name) pour accéder à l'attribut.

Exemple :

attr_name = 'name'
person = Person()
getattr(person, attr_name)
Copier après la connexion

Gestion de l'absence d'attribut

Getattr déclenche une AttributeError lorsque l'attribut spécifié est absent. Pour atténuer cela, fournissez une valeur par défaut comme troisième argument, qui sera renvoyée si l'attribut n'est pas trouvé.

getattr(person, 'age', 0)
Copier après la connexion

Itération des attributs à l'aide de Getattr()

Combinez getattr avec dir pour parcourir tous les noms d'attributs et récupérer leur valeurs.

for attr_name in dir(obj):
    attr_value = getattr(obj, attr_name)
Copier après la connexion

Application pratique : recherche et appel de méthodes commençant par Test

for attr_name in dir(obj):
    if attr_name.startswith('test'):
        getattr(obj, attr_name)()
Copier après la connexion

Conclusion

Getattr permet de récupérer un attribut via son nom, même inconnu lors du codage. Sa polyvalence s'étend à l'extraction de valeurs d'attribut, à la gestion de l'absence d'attribut et à l'identification et à l'appel de méthodes avec des conventions de dénomination spécifiques. Exploitez la puissance de getattr pour la manipulation dynamique des attributs dans votre programmation Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal