Coding style 在Python中迭代少量项的最佳样式?

Coding style 在Python中迭代少量项的最佳样式?,coding-style,python,Coding Style,Python,我刚刚阅读了一篇关于python的演示文稿,我注意到作者遗漏了元组的圆括号,以便迭代项,我突然想到,我可能倾向于将它们保留在其中。快速的重读并没有给出明确的答案,我不想在没有讨论的情况下“回到”旧的“显式优于隐式”;所以 你喜欢哪一种?在这两个等价的for语句中,您认为哪一个更像python(将讨论限制在for语句中使用它) 在这种情况下,显式优于隐式,元组应该是明显的 我认为还有更重要的事情要做:)任何人都会知道你在这两种情况下都在做什么,这是一个微小的变化。我会选择风格2,因为你可以真正理解

我刚刚阅读了一篇关于python的演示文稿,我注意到作者遗漏了元组的圆括号,以便迭代项,我突然想到,我可能倾向于将它们保留在其中。快速的重读并没有给出明确的答案,我不想在没有讨论的情况下“回到”旧的“显式优于隐式”;所以

你喜欢哪一种?在这两个等价的for语句中,您认为哪一个更像python(将讨论限制在for语句中使用它)


在这种情况下,显式优于隐式,元组应该是明显的


我认为还有更重要的事情要做:)任何人都会知道你在这两种情况下都在做什么,这是一个微小的变化。

我会选择风格2,因为你可以真正理解你在重复什么:

>>> # Style 2: Explicit tuple
>>> for i in (x, y, z):
        print(i)

出于某种原因,样式1对我来说似乎有点困惑。

我强调两者都不做。我发现,如果将元组分配给描述性变量,代码可读性会提高

例如:

for name in relative_names:
    print name
vs

我始终希望:

>>> # Some setup
... some_values = 1, 'Hi', True,
>>> 
>>> # Style 3: named tuple
... for value in some_values:
...     print(value)
... 
1
Hi
True

同样让我印象深刻的是,我以前从未考虑过备选方案。“少量项目”的问题是,在脚本修改一两次后,您会发现您拥有“大量项目”。我注意到,您必须展开原始的x、y、z来表达您的观点;-)不总是这样。如果一个人有瘦的、苗条的、肥胖的和肥胖的列表呢。迭代fat+肥胖可能比为fat+肥胖找到一个好名字要好,分配变量,然后循环新变量-当细节不复杂时,知道细节更有意义,并且只使用一次。我确实扩展了原始(x,y,z)来说明我的观点,因为代码常常扩展到简单的(x,y,z)之外,但是如果您没有编写复杂的或可重用的代码,正如您的第二条评论所建议的,那么就不值得讨论了。
for name in "Tyler", "Robert", "Marla", "Chloe", "Lou":
    print name
>>> # Some setup
... some_values = 1, 'Hi', True,
>>> 
>>> # Style 3: named tuple
... for value in some_values:
...     print(value)
... 
1
Hi
True