Die Klasse verwendet collections.defaultdict
eine Standardfactory, mit der ein Standardwert generiert wird.
Wenn die im dict
-like-Objekt enthaltenen Werte standardmäßig verwendet werden sollen, False
kann 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, True
das 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: value
Konstrukt 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: True
ist in Ordnung, solange Sie dieses Standarddiktat nicht auswählen müssen.