Sweetohm

Michel Casabianca


Il est plus élégant d’accéder aux valeurs d’un dictionnaire comme si l’on avait affaire à des champs plutôt qu’avec la notation du type tableau. Nous allons voir comment c’est possible en Python.

Donc au lieu d’écrire :

print dico['foo']

On pourra alors écrire :

print dico.foo

Pour ce faire, on pourra utiliser la classe suivante :

class Dict(dict):

    def __init__(self, data={}):
        self.update(data)

    def __getattr__(self, name):
        return self[name]

    def __setattr__(self, name, value):
        self[name] = value

On pourra alors l’utiliser de la manière suivante :

dico = Dict()
dico.foo = 'bar'
print dico.foo

On peut aussi initialiser le dictionnaire avec des données de la manière suivante :

dico = Dict({
    'foo': 1,
    'bar': 2,
})

Enjoy!