Die Klasse verwendet collections.defaultdicteine Standardfactory, mit der ein Standardwert generiert wird.
Wenn die im dict-like-Objekt enthaltenen Werte standardmäßig verwendet werden sollen, Falsekann die Instanz wie folgt erstellt werden:
d_false = defaultdict(bool)
Was ist der pythonischste Weg, um dasselbe für einen Standardwert von zu erreichen True?
Mit anderen Worten, gibt es ein standardmäßiges aufrufbares Objekt, Truedas idiomatisch als Verwandter von verwendet wird bool?
Natürlich könnte die Fabrik als Lambda-Ausdruck gebaut werden:
d_true = defaultdict(lambda: True)
Dies könnte jedoch das Rad neu erfinden.
int() == 0, list() == [], str() == '', etc. Also ich glaube nicht , dass es ein Standard - Weg , dies zu tun.
lambda: valueKonstrukt ist die idiomatische pythonische Methode, um ein Diktat mit einem statischen Standardwert zu erstellen. Ich kenne keinen einfacheren Weg, um eine Funktion zurückzubekommen True.
object()es wahr ist - nicht sicher, ob das nützlich ist
lambda: Trueist in Ordnung, solange Sie dieses Standarddiktat nicht auswählen müssen.