基于user1474837上有关该问题的Django票证的有用链接,似乎很明显,元组用于从一开始就进行设置的方式向后兼容,因为元组相信它们比列表快,所以使用元组。(根据票证讨论中引用的数据,它们只是,但只是很小一部分。)
具体来说,Django文档曾经说过:
对于序列设置,请使用元组而不是列表。这纯粹是为了提高性能。
在稍后的讨论中,Django核心开发人员指出:
我们当然不会从元组移动到那里的列表,因为它会破坏现有的代码,这些代码早已期望将元数据变为元组。但是,我将删除性能说明,因为这不值得吓到人们。
请注意原始文档中的“ purely”一词-如果以面值表示,则表示设置不变,这 不是
使用元组的原因。还要注意,工单讨论中的某人将设置称为“某种”不可变的,因此,甚至不清楚设置实际上是不可变的。
附注:有关利息,请注意机票解决方案的结尾为:
更改了“编写您自己的设置”的建议,以提及Django使用元组,但没有提出建议。这可能会阻止无休止的元组与列表辩论。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)