Python 使用“dict”或“vars()”?

Python 使用“dict”或“vars()”?,python,Python,内置函数vars()在我看来更像python函数,但我看到\uuuuu dict\uuuu使用得更频繁 Python文档表明它们是等效的 一位博主 一般情况下,你应该考虑DUT/魔法方法作为API的实现和调用函数/方法,所以最好使用 Var()/ > >而不是a_dict.\uuu getitem_uuu('key')我会使用 发件人: 虽然正确应用的优化确实可以加快代码速度,但优化很少使用的代码[…]会使代码更难阅读。[…]首先编写正确的代码,然后快速编写(如果需要) 发件人: 可读性很重要

内置函数
vars()
在我看来更像python函数,但我看到
\uuuuu dict\uuuu
使用得更频繁

Python文档表明它们是等效的

一位博主


一般情况下,你应该考虑DUT/魔法方法作为API的实现和调用函数/方法,所以最好使用<代码> Var()/<代码> > <代码> >而不是
a_dict.\uuu getitem_uuu('key')
我会使用

发件人:

虽然正确应用的优化确实可以加快代码速度,但优化很少使用的代码[…]会使代码更难阅读。[…]首先编写正确的代码,然后快速编写(如果需要)

发件人:

可读性很重要


我同意应首选
vars
。我的理由是,随着python的发展,
vars
可能会被扩展到比
\uuuu dict\uuuu
做的更多(例如,可能在3.7中为工作)。

这取决于您尝试做什么。在许多情况下,两种方法都不是正确的方法。在这个广泛的问题中,似乎两者都很好。我通常使用
\uuu dict\uuu
只是为了避免另一层括号。扁平比嵌套和全部好。我想稍微快一点也不奇怪。访问对象属性比调用函数快。我不知道为什么,但使用
vars
似乎更酷,也更整洁。我可以想象这对初学者更有用。解释“获取对象的变量”会更容易。对我来说,
\uuuuu dict\uuuuu
更直观,因为我得到了对象的
dict
表示。但链接的“带插槽的对象”想法被拒绝了。