python - lenguaje - Utilice `__dict__` o` vars() `?
python tutorial (3)
La función incorporada vars() parece más Pythonic, pero veo que __dict__ usa con más frecuencia.
La documentación de Python indica que son equivalentes.
Un blogger afirma que __dict__ es más rápido que vars() .
¿Qué debo usar?
En general, debe considerar que los métodos dunder / magic son la implementación e invocar funciones / métodos como la API, por lo que sería preferible usar vars() sobre __dict__ , de la misma manera que haría len(a_list) y no a_list.__len__() , o a_dict["key"] lugar de a_dict.__getitem__(''key'')
Estoy de acuerdo con vars debe ser preferido. Mi razonamiento es que, a medida que Python evoluciona, las vars pueden extenderse para hacer más que __dict__ (por ejemplo, trabajar para objetos con espacios , posiblemente en 3.7).
Yo uso vars() .
De: https://wiki.python.org/moin/DubiousPython#Premature_Optimization
Si bien una optimización aplicada correctamente puede acelerar el código, la optimización del código que rara vez se usa [..] puede hacer que el código sea más difícil de leer. [..] Primero escribe el código correcto, luego hazlo rápido (si es necesario).
De: El zen de Python
La legibilidad cuenta.