Machen Sie Python-Wörterbücher als Attribute zugänglich

Was du machen willst

Ich bin mir nicht sicher, ob der Titel ausdrücken kann, was ich richtig machen möchte, aber der Punkt ist, dass ich manchmal so etwas machen möchte. Besonders nach dem Schreiben von JS. ..

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

#Wird normalerweise so verwendet
d["c"] = d["a"] + d["b"]

#Ich mag dieses Gefühl
d.c = d.a + d.b

Antworten

Sie können das Wörterbuch ein wenig erweitern und __setattr__ __setitem__ zuordnen (auch bekommen). Glücklich!

sklearn.datasets.base.Bunch

Bonus

Wenn Sie ein Attribut werden, funktioniert die Vervollständigung in IPython. Wenn Sie beispielsweise das Anforderungsmodul verwenden und sagen "Ich möchte den Inhalt des aktuellen Antwortheaders sehen!", Werden die Kandidaten in einer Reihe nur durch Registerkarten angezeigt.


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

#Versuchen Sie, die GitHub-API zu verwenden
response = requests.get("https://api.github.com")
headers = dict(**response.headers)

Wenn Sie in diesem Zustand header. <TAB> ausführen ...

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

Aus diesem Grund kann die Anzahl der Striche erheblich reduziert werden, verglichen mit dem aufeinanderfolgenden Schlagen von "Headern [" X-RateLimit-Remaining "]" usw. Beeindruckend! !! von··

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

Oh ... oh ...

Recommended Posts

Machen Sie Python-Wörterbücher als Attribute zugänglich
Alternative: Machen Sie Python-Wörterbücher als Attribute zugänglich
Attributzugriff auf Python dict zulassen
Python3 | Listen, Taples, Wörterbücher
Python-Liste, Tapple, Wörterbuch
Stellen Sie MeCab in Python 3 zur Verfügung
Machen Sie Jupyter Lab remote zugänglich
Erstelle Puyopuyo AI mit Python
Mach nicht test.py in Python!
Erstellen Sie ein Lesezeichen in Python
Machen Sie eine Lotterie mit Python
Stellen Sie Opencv in Python zur Verfügung
Segfo Python in 2 Zeilen
Versuchen Sie, mit Python (1) eine Erfassungssoftware zu erstellen, die so genau wie möglich ist.