Casi siempre utilizo llaves; sin embargo, en algunos casos en los que estoy escribiendo pruebas, hago empaquetado / desempaquetado de palabras clave, y en estos casos dict () es mucho más fácil de mantener, ya que no necesito cambiar:
a=1,
b=2,
para:
'a': 1,
'b': 2,
También ayuda en algunas circunstancias en las que creo que podría querer convertirlo en una instancia de clase o tupla con nombre en un momento posterior.
En la implementación en sí, debido a mi obsesión con la optimización, y cuando no veo un beneficio de mantenibilidad particularmente grande, siempre prefiero las llaves.
En las pruebas y la implementación, nunca usaría dict () si existe la posibilidad de que las claves agregadas en ese momento o en el futuro:
- No siempre será una cuerda
- No solo contienen dígitos, letras ASCII y guiones bajos
- Empiece con un número entero (
dict(1foo=2)
genera un SyntaxError)