Expert Python
- Optimisez votre code avec des valeurs de vérité – Real Python
- Épisode # 297 Revue de l'année Python (édition 2020)
- Navigation dans les options de déploiement de votre application Python – Le véritable podcast Python
- Épisode 195 Enseigner le python chez Apple
- Apprendre la classification de texte avec Python et Keras – Real Python
Vous ne pouvez pas utiliser getattr ()
chercher des choses dans un dictionnaire.
Mais la fonctionnalité «par défaut» de getattr ()
est tellement utile.
Quelle est la façon dictée de faire la même chose?
C’est l’un de ces articles que j’écris car je continue à le chercher.
Donc, si je l'écris, je m'en souviendrai. J'espère.
getattr
J’utilise le paramètre ‘default’ pour getattr depuis un certain temps et c’est très pratique.
C'est pratique dans beaucoup d'endroits, et évite d'avoir à envelopper les choses dans les blocs try / except.
Un exemple simple:
essayer:
toto = paramètres.FOO
sauf AttributeError:
foo = Aucun
essayer: foo = réglages.FOO sauf AttributeError: foo = Aucun |
Peut être remplacé par:
foo = getattr (paramètres, 'FOO', Aucun)
foo = getattr(réglages, 'FOO', Aucun) |
dictionnaire get ()
Mais getattr
ne fonctionne pas comme je l’attendais pour les dictionnaires.
Cela fait quelque chose, mais pas ce à quoi je m'attendais.
La plupart du temps, il ne cherche pas d’objets.
Utilisation obtenir()
au lieu.
Remplacer:
essayer:
foo = aDictionary[‘FOO’]
sauf KeyError:
foo = Aucun
essayer: foo = un dictionnaire[[[['FOO'] sauf KeyError: foo = Aucun |
Avec:
foo = aDictionary.get ('FOO', Aucun)
foo = un dictionnaire.obtenir('FOO', Aucun) |
[ad_2]