Maison >développement back-end >Tutoriel Python >Comment accéder dynamiquement à la propriété de classe à l'aide d'une chaîne en Python ?
Lorsque vous travaillez avec Python, vous pouvez rencontrer des situations dans lesquelles vous devez accéder dynamiquement à une propriété de classe basée sur une chaîne. Un de ces cas d'utilisation consiste à accéder à différents membres de classe en fonction d'une valeur de chaîne fournie par l'utilisateur.
Dans de tels scénarios, vous pouvez utiliser la fonction getattr. Prenons l'exemple de la classe suivante :
<code class="python">class User: def __init__(self): self.data = [] self.other_data = [] def doSomething(self, source): # if source = 'other_data' how to access self.other_data</code>
Dans la méthode doSomething, vous pouvez accéder dynamiquement à la propriété de classe en utilisant getattr :
<code class="python">x = getattr(self, source)</code>
Dans ce cas, x se verra attribuer le valeur de la propriété de classe other_data si source est égale à « other_data ». En effet, getattr prend un objet et une chaîne qui représente le nom de la propriété et renvoie la valeur de la propriété.
L'utilisation de getattr fournit un moyen pratique et dynamique d'accéder aux propriétés de classe basées sur une chaîne. Cela vous permet d'éviter d'utiliser des noms de propriétés codés en dur, ce qui rend votre code plus flexible et réutilisable.
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!