Rendre les dictionnaires Python accessibles en tant qu'attributs

Chose que tu veux faire

Je ne sais pas si le titre peut exprimer correctement ce que je veux faire, mais le fait est que parfois je veux faire quelque chose comme ça. Surtout après avoir écrit JS. ..

d = dict(a=1, b=2)

#Habituellement utilisé comme ça
d["c"] = d["a"] + d["b"]

#J'aime ce sentiment
d.c = d.a + d.b

Répondre

Vous pouvez développer un peu le dictionnaire et mapper __setattr__ à `` setitem '' (obtenir aussi). Heureux!

sklearn.datasets.base.Bunch

prime

En devenant un attribut, la complétion fonctionnera sur IPython. Par exemple, si vous utilisez le module de requêtes, lorsque vous dites "Je veux voir le contenu de l'en-tête de réponse actuel!"


import requests
from sklearn.datasets.base import Bunch as dict

#Essayez d'accéder à l'API GitHub
response = requests.get("https://api.github.com")
headers = dict(**response.headers)

Si vous faites `` header. '' dans cet état ...

スクリーンショット 2017-02-19 2.49.59.png

Pour cette raison, le nombre de coups peut être considérablement réduit par rapport à frapper headers ["X-RateLimit-Remaining"] etc. un par un. Hou la la! !! de··

スクリーンショット 2017-02-19 3.12.07.png

Oh ... oh ...

Recommended Posts

Rendre les dictionnaires Python accessibles en tant qu'attributs
Alternative: rendre les dictionnaires Python accessibles en tant qu'attributs
Autoriser l'accès aux attributs à Python dict
Python3 | Listes, Taples, Dictionnaires
Liste Python, tapple, dictionnaire
Rendre MeCab disponible à partir de Python 3
Rendre Jupyter Lab accessible à distance
Créez Puyopuyo AI avec Python
Ne faites pas test.py en Python!
Créer un bookmarklet en Python
Faites une loterie avec Python
Rendre Opencv disponible en Python
Segfo python en 2 lignes
Essayez de créer un logiciel de capture aussi précis que possible avec python (1)