Maison > développement back-end > Tutoriel Python > Pouvez-vous accéder aux membres du dictionnaire à l'aide de la notation par points en Python ?

Pouvez-vous accéder aux membres du dictionnaire à l'aide de la notation par points en Python ?

Mary-Kate Olsen
Libérer: 2024-11-15 04:03:02
original
179 Les gens l'ont consulté

Can You Access Dictionary Members Using Dot Notation in Python?

Notation par points pour l'accès au dictionnaire : extension de la classe de dictionnaire de Python

En Python, l'accès aux membres du dictionnaire nécessite généralement la notation entre crochets, telle que mydict[ 'clé']. Cependant, il est possible d’utiliser la notation par points dans le même but, la rendant plus pratique et plus lisible. Cela peut être particulièrement utile pour accéder aux dictionnaires imbriqués.

Une façon d'y parvenir consiste à implémenter une classe personnalisée qui étend la classe dict intégrée. La classe dotdict présentée ici :

  • Redéfinit la méthode getattr pour permettre l'accès aux clés du dictionnaire en utilisant la notation par points.
  • Remplace le setattr et delattr méthodes pour faire fonctionner la notation par points pour définir et supprimer des attributs.
class dotdict(dict):
    """dot.notation access to dictionary attributes"""
    __getattr__ = dict.get
    __setattr__ = dict.__setitem__
    __delattr__ = dict.__delitem__
Copier après la connexion

Pour utiliser la classe dotdict :

mydict = {'val': 'it works'}
nested_dict = {'val': 'nested works too'}
mydict = dotdict(mydict)
Copier après la connexion

Maintenant, vous pouvez accéder aux membres du dictionnaire en utilisant la notation par points :

mydict.val  # 'it works'
Copier après la connexion

Vous pouvez même accéder aux dictionnaires imbriqués de la même manière :

mydict.nested = dotdict(nested_dict)
mydict.nested.val  # 'nested works too'
Copier après la connexion

Cette méthode offre un moyen pratique et intuitif d'interagir avec les dictionnaires, en particulier lorsqu'il s'agit de structures profondément imbriquées.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal