Les méthodes d'accès offrent un moyen pratique de récupérer des données à partir de structures de données complexes, permettant une navigation intuitive orientée objet. Cependant, les dictionnaires natifs de Python manquent intrinsèquement de cette fonctionnalité.
Problème : Comment pouvons-nous convertir un dictionnaire Python imbriqué en une structure de type objet, permettant une récupération de données basée sur les attributs ?
Réponse :
Utilisation de tuples nommés (Python 2.6 et versions ultérieures)
Pour les versions plus récentes de Python (2.6 et versions ultérieures), les tuples nommés fournissent un solution élégante. Ceux-ci représentent des types de données personnalisés immuables avec des champs nommés :
from collections import namedtuple MyStruct = namedtuple('MyStruct', 'a b d') s = MyStruct(a=1, b={'c': 2}, d=['hi']) print(s.a, s.b['c'], s.d[0]) # Output: 1 2 hi
Utilisation d'une classe Struct personnalisée
Vous pouvez également créer une classe Struct personnalisée qui imite le comportement de objets :
class Struct: def __init__(self, **entries): self.__dict__.update(entries) args = {'a': 1, 'b': 2} s = Struct(**args) print(s.a, s.b) # Output: 1 2
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!